Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | jesus-farfan |
View: | 54 times |
Download: | 3 times |
Objetivos de la Sesión
Revisar las particularidades de las sentencias DML en Oracle
Explotar al máximo las funciones predefinidas de Oracle
Temas a tratar
Introducción a SQL Instrucciones DML y operadoresConsultando dos o más tablasFunciones pre-definidas
Oracle 10G SQL
Utiliza el SQL (Structured Query Language)
Basado en estándares ANSI (American National Standards Institute) e ISO (International Standards Organization)
Categorías
DDL-Data Definition LanguageDML-Data Manipulation
LanguageTCL-Transaction Control
LanguageDCL-Data Control Language
DDL-Data Definition Language Utilizadas para crear, alterar o
borrar objetos de la base de datos.
Ejemplo :CREATE, ALTER, DROP, RENAME
TCL-Transaction Control Language Utilizadas para confirmar o
restaurar transacciones que son un conjunto de sentencias SQL que se completan o fallan como unidad.
Ejemplo :COMMIT, ROLLBACK
DCL-Data Control Language Utilizadas en el control de
acceso a datos en la base de datos.
Ejemplo :GRANT, REVOKE
DML-Data Manipulation Language Utilizadas para consultar o
actualizar los datos contenidos en tablas de una base de datos.
Sentencias SELECT – Obtiene filas de tablas de
base de datos. INSERT – Agrega filas a una tabla de
la base de datos. UPDATE – Modifica filas de una
tabla que cumplan cláusula WHERE. DELETE – Borra filas identificadas
por la cláusula WHERE
SELECT SELECT [DISTINCT|ALL]
lista_selecciónFROM tabla [,tabla ...][WHERE condición(es)][GROUP BY expresión [,expresión]...][HAVING condición][ORDER BY {columna, expresión}
{ASC|DESC}]
SELECT - Ejemplo
SELECT ename, job, deptno, hiredateFROM empWHERE job = 'CLERK'ORDER BY ename;
-- Uso de aliasSELECT ename as NOMBRE, sal salario, sal*12
“salario annual”FROM emp;
SELECT ename, job, deptno, hiredateFROM empWHERE job = 'CLERK'ORDER BY ename;
-- Uso de aliasSELECT ename as NOMBRE, sal salario, sal*12
“salario annual”FROM emp;
INSERT INSERT [INTO] tabla[lista de campos de tabla]VALUES (lista de valores de
datos)óINSERT INTO tabla
Sentencia SELECT
INSERT - Ejemplo
INSERT INTO DEPTVALUES(60, 'MI AREA', 'LIMA' );
INSERT INTO DEPT(deptno, dname, loc)VALUES(70, 'MI AREA 2', 'LIMA' );
INSERT INTO DEPTVALUES(60, 'MI AREA', 'LIMA' );
INSERT INTO DEPT(deptno, dname, loc)VALUES(70, 'MI AREA 2', 'LIMA' );
UPDATE - Ejemplo
UPDATE empSET deptno = 20, WHERE empno = 7782;
UPDATE empSET (job,deptno) = (SELECT job, deptno FROM emp
WHERE empno = 7499) WHERE empno = 7698;
UPDATE empSET deptno = 20, WHERE empno = 7782;
UPDATE empSET (job,deptno) = (SELECT job, deptno FROM emp
WHERE empno = 7499) WHERE empno = 7698;
DELETE - Ejemplo
DELETE FROM DEPT WHERE DNAME = 'ACCOUNTING';DELETE FROM DEPT WHERE DNAME = 'ACCOUNTING';
SUBCONSULTAS
Es una sentencia SELECT que se encuentra dentro de una cláusula de otra sentencia SELECT.
Tipos:•Subconsultas de una fila•Subconsultas de múltiples filas•Subconsultas de múltiples columna
SUBCONSULTAS - Ejemplo -- Subconsulta de una fila, >,<,>=,<=,<>,=SELECT ename, job, deptno, hiredateFROM empWHERE sal > (SELECT sal FROM emp WHERE empno =
7566)ORDER BY ename;
-- Subconsulta de múltiples filas, IN, ANY, ALLSELECT ename, job, deptno, hiredateFROM empWHERE sal IN (SELECT MIN(sal) FROM emp GROUP BY
deptno);
-- Subconsulta de múltiples columnasSELECT * FROM emp WHERE (empno, deptno) IN (SELECT
empno, deptno FROM emp WHERE job='MANAGER');
-- Subconsulta de una fila, >,<,>=,<=,<>,=SELECT ename, job, deptno, hiredateFROM empWHERE sal > (SELECT sal FROM emp WHERE empno =
7566)ORDER BY ename;
-- Subconsulta de múltiples filas, IN, ANY, ALLSELECT ename, job, deptno, hiredateFROM empWHERE sal IN (SELECT MIN(sal) FROM emp GROUP BY
deptno);
-- Subconsulta de múltiples columnasSELECT * FROM emp WHERE (empno, deptno) IN (SELECT
empno, deptno FROM emp WHERE job='MANAGER');
CONSULTAS MULTITABLAS JOINUtilizada para consultar datos
de más de una tabla.Tipos de Join:
•Equijoin•Non-equijoin•Outer-join•Selfjoin