Sunteți pe pagina 1din 29

Base de Datos Avanzado I

Sesin 5
Lenguaje de manipulacin de datos
Profesor: Ing. Juan Deza Ari

Objetivos de la Sesin
Revisar

las particularidades de las sentencias DML en Oracle Explotar al mximo las funciones predefinidas de Oracle

Temas a tratar
Introduccin

a SQL Instrucciones DML y operadores Consultando dos o ms tablas Funciones pre-definidas

Introduccin a SQL

Oracle 10G SQL


Utiliza

el SQL (Structured Query Language) Basado en estndares ANSI (American National Standards Institute) e ISO (International Standards Organization)

Categoras
DDL-Data

Definition Language DML-Data Manipulation Language TCL-Transaction Control Language DCL-Data Control Language

DDL-Data Definition Language


Utilizadas

para crear, alterar o borrar objetos de la base de datos. Ejemplo : CREATE, ALTER, DROP, RENAME

Utilizadas

para confirmar o restaurar transacciones que son un conjunto de sentencias SQL que se completan o fallan como unidad. Ejemplo : COMMIT, ROLLBACK

TCL-Transaction Control Language

DCL-Data Control Language


Utilizadas

en el control de acceso a datos en la base de datos. Ejemplo : GRANT, REVOKE

Instrucciones DML y operadores

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 clusula WHERE. DELETE Borra filas identificadas por la clusula WHERE

SELECT
SELECT [DISTINCT|ALL] lista_seleccin FROM tabla [,tabla ...] [WHERE condicin(es)] [GROUP BY expresin [,expresin]...] [HAVING condicin] [ORDER BY {columna, expresin} {ASC|DESC}]

SELECT - Ejemplo
SELECT ename, job, deptno, hiredate FROM emp WHERE job = 'CLERK' ORDER BY ename; -- Uso de alias SELECT 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 DEPT VALUES (60, 'MI AREA', 'LIMA' ); INSERT INTO DEPT (deptno, dname, loc) VALUES (70, 'MI AREA 2', 'LIMA' );

UPDATE
UPDATE tabla SET columna = expresin [, columna = expresin...] [WHERE condicin(es)]

UPDATE - Ejemplo
UPDATE emp SET deptno = 20, WHERE empno = 7782; UPDATE emp SET (job,deptno) = (SELECT job, deptno FROM emp WHERE empno = 7499) WHERE empno = 7698;

DELETE
DELETE FROM tabla [WHERE condicin(es)]

DELETE - Ejemplo
DELETE FROM DEPT WHERE DNAME = 'ACCOUNTING';

Funciones
Funciones

de carcter Funciones numricas Funciones de fecha Funciones de conversin

Funciones de carcter
LOWER, INITCAP CONCAT,

UPPER

SUBSTR LENGTH, INSTR LPAD, RPAD, TRIM

Funciones numricas
ROUND,

TRUNC CEIL, FLOOR MOD Funciones de grupo : AVG, COUNT, SUM, MAX, MIN

Funciones de fechas
SYSDATE ADD_MONTHS,

MONTHS_BETWEEN NEXT_DAY, LAST_DAY ROUND, TRUNC

Funciones de conversin
TO_DATE TO_CHAR TO_NUMBER NVL DECODE

SUBCONSULTAS
Es

una sentencia SELECT que se encuentra dentro de una clusula de otra sentencia SELECT. Tipos:
Subconsultas de una fila Subconsultas de mltiples filas Subconsultas de mltiples columna

SUBCONSULTAS - Ejemplo
-- Subconsulta de una fila, >,<,>=,<=,<>,= SELECT ename, job, deptno, hiredate FROM emp WHERE sal > (SELECT sal FROM emp WHERE empno = 7566) ORDER BY ename; -- Subconsulta de mltiples filas, IN, ANY, ALL SELECT ename, job, deptno, hiredate FROM emp WHERE sal IN (SELECT MIN(sal) FROM emp GROUP BY deptno); -- Subconsulta de mltiples columnas SELECT * FROM emp WHERE (empno, deptno) IN (SELECT empno, deptno FROM emp WHERE job='MANAGER');

CONSULTAS MULTITABLAS JOIN


Utilizada

para consultar datos de ms de una tabla. Tipos de Join:


Equijoin Non-equijoin Outer-join Selfjoin

Final
Alguna

duda?

pregunta o alguna

Gracias.

S-ar putea să vă placă și