17
CONSULTAS ORACLE SQL DEVELOPER PRESENTADO POR: YENNI BERMUDEZ PAOLA ZAMBRANO PRESENTADO A: FLOR HERNANDEZ ASIGNATURA: BASES DE DATOS TECNOLOGÍA EN SISTEMAS EMPRESARIALES DE INFORMACIÓN INSTITUCIÓN UNIVERSITARIA TECNOLÓGICA DE COMFACAUCA POPAYAN_CAUCA 25 DE ABRIL DEL 2012

Consultas Oracle SQL Developer

Embed Size (px)

Citation preview

Page 1: Consultas Oracle SQL Developer

CONSULTAS ORACLE SQL DEVELOPER

PRESENTADO POR:

YENNI BERMUDEZ

PAOLA ZAMBRANO

PRESENTADO A:

FLOR HERNANDEZ

ASIGNATURA: BASES DE DATOS

TECNOLOGÍA EN SISTEMAS EMPRESARIALES DE INFORMACIÓN

INSTITUCIÓN UNIVERSITARIA TECNOLÓGICA DE COMFACAUCA

POPAYAN_CAUCA

25 DE ABRIL DEL 2012

Page 2: Consultas Oracle SQL Developer

Consultas Oracle SQL Developer

1. Tablas

Tabla Departamentos

EMP_ID EMP_NOMBRE EMP_CARGO EMP_JEFE EMP_FECHACONTRATO EMP_SALARIO EMP_COMISION DEP_ID1000 LOPEZ PRESIDENT

E07/08/01 7000000 10

1100 BENAVIDEZ GERENTE 1000 10/06/01 2900000 301200 CORDOBA GERENTE 1000 19/06/01 2700000 101300 JIMENEZ GERENTE 1000 12/07/01 2775000 202100 MARTINEZ VENDEDOR 1100 08/10/01 1200000 1100000 302200 ARTEAGA VENDEDOR 1100 10/02/01 1600000 700000 302300 TOLEDO VENDEDOR 1100 15/11/01 1550000 0 302400 JARAMILLO OFICINISTA 1100 13/01/01 900000 302500 ZAMBRANO VENDEDOR 1100 22/02/01 1250000 600000 303100 MARTINEZ OFICINISTA 1200 03/03/02 1400000 104100 FERNANDEZ ANALISTA 1300 05/12/01 3050000 204200 SANCHEZ ANALISTA 1300 04/10/02 3005000 205000 SANDOVAL OFICINISTA 4100 07/09/03 855000 206000 AGREDO OFICINISTA 4200 02/01/04 1200000 20

DEP_ID DEP_NOMBRE DEP_LOCALIZACION10 CONTABILIDAD MEDELLIN20 INVESTIGACIO

NCALI

30 VENTAS BOGOTA40 OPERACIONES BUCARAMANGA

Page 3: Consultas Oracle SQL Developer

Tabla Empleados

2. INNER JOIN

Con esta operación se calcula el producto cruzado de todos los registros; así cada registro en la tabla A es combinado con cada registro de la tabla B; pero sólo permanecen aquellos registros en la tabla combinada que satisfacen las condiciones que se especifiquen.

Toma todos los registros de la tabla Empleados y encuentra todas las combinaciones en la tabla Departamentos. La sentencia JOIN compara los valores en la columna DEP_ID en ambas tablas. Cuando no existe esta correspondencia entre algunas combinaciones, éstas no se muestran; es decir que si el número de departamento de un empleado no coincide con los números de departamento de la tabla Departamento, no se mostrará el empleado con su respectivo departamento en la tabla resultante.

SENTENCIA SQL

SELECT *

FROM EMPLEADOS

INNER JOIN DEPARTAMENTOS

ON EMPLEADOS.DEP_ID = DEPARTAMENTOS.DEP_ID

SELECT *

Page 4: Consultas Oracle SQL Developer

FROM EMPLEADOS, DEPARTAMENTOS

WHERE EMPLEADOS.DEP_ID = DEPARTAMENTOS.DEP_ID

RESULTADO

EMP_ID

EMP_NOMBRE

EMP_CARGO

EMP_JEFE

EMP_FECHACONTRATO

EMP_SALARIO

EMP_COMISION

DEP_ID

DEP_ID_1

DEP_NOMBRE

DEP_LOCALIZACION

1000 LOPEZ PRESIDENTE

07/08/01 7000000 10 10 CONTABILIDAD

MEDELLIN

1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 30 30 VENTAS BOGOTA

1200 CORDOBA

GERENTE

1000 19/06/01 2700000 10 10 CONTABILIDAD

MEDELLIN

1300 JIMENEZ GERENTE

1000 12/07/01 2775000 20 20 INVESTIGACION

CALI

2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 30 30 VENTAS BOGOTA

2200 ARTEAGA

VENDEDOR

1100 10/02/01 1600000 700000 30 30 VENTAS BOGOTA

2300 TOLEDO VENDEDOR

1100 15/11/01 1550000 0 30 30 VENTAS BOGOTA

2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 30 30 VENTAS BOGOTA

2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 30 30 VENTAS BOGOTA

3100 MARTIN OFICINI 1200 03/03/02 1400000 10 10 CONTABI MEDELLIN

Page 5: Consultas Oracle SQL Developer

EZ STA LIDAD4100 FERNAN

DEZANALISTA

1300 05/12/01 3050000 20 20 INVESTIGACION

CALI

4200 SANCHEZ

ANALISTA

1300 04/10/02 3005000 20 20 INVESTIGACION

CALI

4. NATURAL JOIN

En este caso se comparan todas las columnas que tengan el mismo nombre en ambas tablas. La tabla resultante contiene sólo una columna por cada par de columnas con el mismo nombre.

SENTENCIA

SELECT *FROM EMPLEADOS NATURAL JOIN DEPARTAMENTOS

RESULTADO

DEP_ID

EMP_ID

EMP_NOMBRE

EMP_CARGO

EMP_JEFE

EMP_FECHACONTRATO

EMP_SALARIO

EMP_COMISION

DEP_NOMBRE

DEP_LOCALIZACION

10 1000 LOPEZ PRESIDENTE

07/08/01 7000000 NULL CONTABILIDAD

MEDELLIN

30 1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 NULL VENTAS BOGOTA

10 1200 CORDOBA

GERENTE

1000 19/06/01 2700000 NULL CONTABILIDAD

MEDELLIN

20 1300 JIMENEZ GERENTE

1000 12/07/01 2775000 NULL INVESTIGACION

CALI

30 2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 VENTAS BOGOTA

30 2200 ARTEAG VENDED 1100 10/02/01 1600000 700000 VENTAS BOGOTA

Page 6: Consultas Oracle SQL Developer

A OR30 2300 TOLEDO VENDED

OR1100 15/11/01 1550000 0 VENTAS BOGOTA

30 2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 NULL VENTAS BOGOTA

30 2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 VENTAS BOGOTA

10 3100 MARTINEZ

OFICINISTA

1200 03/03/02 1400000 NULL CONTABILIDAD

MEDELLIN

20 4100 FERNANDEZ

ANALISTA

1300 05/12/01 3050000 NULL INVESTIGACION

CALI

20 4200 SANCHEZ ANALISTA

1300 04/10/02 3005000 NULL INVESTIGACION

CALI

20 5000 SANDOVAL

OFICINISTA

4100 07/09/03 855000 NULL INVESTIGACION

CALI

20 6000 AGREDO OFICINISTA

4200 02/01/04 1200000 NULL INVESTIGACION

CALI

5. CROSS JOIN

Retorna todos los registros de todas las tablas implicadas en la unión, devuelve el producto cartesiano.

SENTENCIA

SELECT *

FROM EMPLEADOS CROSS JOIN DEPARTAMENTOS

RESULTADO

EMP EMP_NO EMP_C EMP_ EMP_FECHAC EMP_SA EMP_CO DEP DEP_ DEP_NO DEP_LOCAL

Page 7: Consultas Oracle SQL Developer

_ID MBRE ARGO JEFE ONTRATO LARIO MISION _ID ID_1 MBRE IZACION1000 LOPEZ PRESID

ENTE07/08/01 7000000 10 10 CONTABI

LIDADMEDELLIN

1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 30 10 CONTABILIDAD

MEDELLIN

1200 CORDOBA

GERENTE

1000 19/06/01 2700000 10 10 CONTABILIDAD

MEDELLIN

1300 JIMENEZ GERENTE

1000 12/07/01 2775000 20 10 CONTABILIDAD

MEDELLIN

2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 30 10 CONTABILIDAD

MEDELLIN

2200 ARTEAGA

VENDEDOR

1100 10/02/01 1600000 700000 30 10 CONTABILIDAD

MEDELLIN

2300 TOLEDO VENDEDOR

1100 15/11/01 1550000 0 30 10 CONTABILIDAD

MEDELLIN

2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 30 10 CONTABILIDAD

MEDELLIN

2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 30 10 CONTABILIDAD

MEDELLIN

3100 MARTINEZ

OFICINISTA

1200 03/03/02 1400000 10 10 CONTABILIDAD

MEDELLIN

4100 FERNANDEZ

ANALISTA

1300 05/12/01 3050000 20 10 CONTABILIDAD

MEDELLIN

4200 SANCHEZ

ANALISTA

1300 04/10/02 3005000 20 10 CONTABILIDAD

MEDELLIN

5000 SANDOVAL

OFICINISTA

4100 07/09/03 855000 20 10 CONTABILIDAD

MEDELLIN

6000 AGREDO OFICINISTA

4200 02/01/04 1200000 20 10 CONTABILIDAD

MEDELLIN

1000 LOPEZ PRESIDENTE

07/08/01 7000000 10 20 INVESTIGACION

CALI

Page 8: Consultas Oracle SQL Developer

1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 30 20 INVESTIGACION

CALI

1200 CORDOBA

GERENTE

1000 19/06/01 2700000 10 20 INVESTIGACION

CALI

1300 JIMENEZ GERENTE

1000 12/07/01 2775000 20 20 INVESTIGACION

CALI

2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 30 20 INVESTIGACION

CALI

2200 ARTEAGA

VENDEDOR

1100 10/02/01 1600000 700000 30 20 INVESTIGACION

CALI

2300 TOLEDO VENDEDOR

1100 15/11/01 1550000 0 30 20 INVESTIGACION

CALI

2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 30 20 INVESTIGACION

CALI

2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 30 20 INVESTIGACION

CALI

3100 MARTINEZ

OFICINISTA

1200 03/03/02 1400000 10 20 INVESTIGACION

CALI

4100 FERNANDEZ

ANALISTA

1300 05/12/01 3050000 20 20 INVESTIGACION

CALI

4200 SANCHEZ

ANALISTA

1300 04/10/02 3005000 20 20 INVESTIGACION

CALI

5000 SANDOVAL

OFICINISTA

4100 07/09/03 855000 20 20 INVESTIGACION

CALI

6000 AGREDO OFICINISTA

4200 02/01/04 1200000 20 20 INVESTIGACION

CALI

1000 LOPEZ PRESIDENTE

07/08/01 7000000 10 30 VENTAS BOGOTA

1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 30 30 VENTAS BOGOTA

1200 CORDOB GEREN 1000 19/06/01 2700000 10 30 VENTAS BOGOTA

Page 9: Consultas Oracle SQL Developer

A TE1300 JIMENEZ GEREN

TE1000 12/07/01 2775000 20 30 VENTAS BOGOTA

2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 30 30 VENTAS BOGOTA

2200 ARTEAGA

VENDEDOR

1100 10/02/01 1600000 700000 30 30 VENTAS BOGOTA

2300 TOLEDO VENDEDOR

1100 15/11/01 1550000 0 30 30 VENTAS BOGOTA

2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 30 30 VENTAS BOGOTA

2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 30 30 VENTAS BOGOTA

3100 MARTINEZ

OFICINISTA

1200 03/03/02 1400000 10 30 VENTAS BOGOTA

4100 FERNANDEZ

ANALISTA

1300 05/12/01 3050000 20 30 VENTAS BOGOTA

4200 SANCHEZ

ANALISTA

1300 04/10/02 3005000 20 30 VENTAS BOGOTA

5000 SANDOVAL

OFICINISTA

4100 07/09/03 855000 20 30 VENTAS BOGOTA

6000 AGREDO OFICINISTA

4200 02/01/04 1200000 20 30 VENTAS BOGOTA

1000 LOPEZ PRESIDENTE

07/08/01 7000000 10 40 OPERACIONES

BUCARAMANGA

1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 30 40 OPERACIONES

BUCARAMANGA

1200 CORDOBA

GERENTE

1000 19/06/01 2700000 10 40 OPERACIONES

BUCARAMANGA

1300 JIMENEZ GERENTE

1000 12/07/01 2775000 20 40 OPERACIONES

BUCARAMANGA

Page 10: Consultas Oracle SQL Developer

2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 30 40 OPERACIONES

BUCARAMANGA

2200 ARTEAGA

VENDEDOR

1100 10/02/01 1600000 700000 30 40 OPERACIONES

BUCARAMANGA

2300 TOLEDO VENDEDOR

1100 15/11/01 1550000 0 30 40 OPERACIONES

BUCARAMANGA

2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 30 40 OPERACIONES

BUCARAMANGA

2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 30 40 OPERACIONES

BUCARAMANGA

3100 MARTINEZ

OFICINISTA

1200 03/03/02 1400000 10 40 OPERACIONES

BUCARAMANGA

4100 FERNANDEZ

ANALISTA

1300 05/12/01 3050000 20 40 OPERACIONES

BUCARAMANGA

4200 SANCHEZ

ANALISTA

1300 04/10/02 3005000 20 40 OPERACIONES

BUCARAMANGA

5000 SANDOVAL

OFICINISTA

4100 07/09/03 855000 20 40 OPERACIONES

BUCARAMANGA

6000 AGREDO OFICINISTA

4200 02/01/04 1200000 20 40 OPERACIONES

BUCARAMANGA

6. LEFT JOIN

El resultado de esta operación siempre contiene todos los registros de la tabla de la izquierda (la primera tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la derecha, para uno de la izquierda.

La sentencia LEFT JOIN retorna la pareja de todos los valores de la tabla izquierda con los valores de la tabla de la derecha correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.

Page 11: Consultas Oracle SQL Developer

En el siguiente ejemplo se presentarán los empleados con su respectivo departamento, e inclusive se presentará el empleado, cuyo departamento no existe.

SENTENCIA

SELECT * FROM EMPLEADOS LEFT JOIN DEPARTAMENTOS ON EMPLEADOS.DEP_ID = DEPARTAMENTOS.DEP_ID

RESULTADO

EMP_ID

EMP_NOMBRE

EMP_CARGO

EMP_JEFE

EMP_FECHACONTRATO

EMP_SALARIO

EMP_COMISION

DEP_ID

DEP_ID_1

DEP_NOMBRE

DEP_LOCALIZACION

1000 LOPEZ PRESIDENTE

07/08/01 7000000 (null) 10 10 CONTABILIDAD

MEDELLIN

1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 (null) 30 30 VENTAS BOGOTA

1200 CORDOBA

GERENTE

1000 19/06/01 2700000 (null) 10 10 CONTABILIDAD

MEDELLIN

1300 JIMENEZ GERENTE

1000 12/07/01 2775000 (null) 20 20 INVESTIGACION

CALI

2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 30 30 VENTAS BOGOTA

2200 ARTEAGA

VENDEDOR

1100 10/02/01 1600000 700000 30 30 VENTAS BOGOTA

2300 TOLEDO VENDEDOR

1100 15/11/01 1550000 0 30 30 VENTAS BOGOTA

2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 (null) 30 30 VENTAS BOGOTA

2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 30 30 VENTAS BOGOTA

Page 12: Consultas Oracle SQL Developer

3100 MARTINEZ

OFICINISTA

1200 03/03/02 1400000 (null) 10 10 CONTABILIDAD

MEDELLIN

4100 FERNANDEZ

ANALISTA

1300 05/12/01 3050000 (null) 20 20 INVESTIGACION

CALI

4200 SANCHEZ

ANALISTA

1300 04/10/02 3005000 (null) 20 20 INVESTIGACION

CALI

5000 SANDOVAL

OFICINISTA

4100 07/09/03 855000 (null) 20 20 INVESTIGACION

CALI

6000 AGREDO OFICINISTA

4200 02/01/04 1200000 (null) 20 20 INVESTIGACION

CALI

6500 NUEVA NUEVA 1000 07/01/04 567888 (null) (nul (null) (null) (null)

7. RIGHT JOIN

Esta operación es inversa a la anterior; el resultado de esta operación siempre contiene todos los registros de la tabla de la derecha (la segunda tabla que se menciona en la consulta), aun cuando no exista un registro correspondiente en la tabla de la izquierda, para uno de la derecha.

La sentencia RIGHT JOIN retorna la pareja de todos los valores de la tabla derecha con los valores de la tabla de la izquierda correspondientes, o retorna un valor nulo NULL en caso de no correspondencia.

SENTENCIA

SELECT * FROM EMPLEADOSRIGHT JOIN DEPARTAMENTOSON EMPLEADOS.DEP_ID = DEPARTAMENTOS.DEP_ID

RESULTADO

Page 13: Consultas Oracle SQL Developer

EMP_ID

EMP_NOMBRE

EMP_CARGO

EMP_JEFE

EMP_FECHACONTRATO

EMP_SALARIO

EMP_COMISION

DEP_ID

DEP_ID_1

DEP_NOMBRE

DEP_LOCALIZACION

3100 MARTINEZ

OFICINISTA

1200 03/03/02 1400000 NULL 10 10 CONTABILIDAD

MEDELLIN

1000 LOPEZ PRESIDENTE

07/08/01 7000000 NULL 10 10 CONTABILIDAD

MEDELLIN

1200 CORDOBA

GERENTE

1000 19/06/01 2700000 NULL 10 10 CONTABILIDAD

MEDELLIN

5000 SANDOVAL

OFICINISTA

4100 07/09/03 855000 NULL 20 20 INVESTIGACION

CALI

4200 SANCHEZ

ANALISTA

1300 04/10/02 3005000 NULL 20 20 INVESTIGACION

CALI

4100 FERNANDEZ

ANALISTA

1300 05/12/01 3050000 NULL 20 20 INVESTIGACION

CALI

6000 AGREDO OFICINISTA

4200 02/01/04 1200000 NULL 20 20 INVESTIGACION

CALI

1300 JIMENEZ GERENTE

1000 12/07/01 2775000 NULL 20 20 INVESTIGACION

CALI

2500 ZAMBRANO

VENDEDOR

1100 22/02/01 1250000 600000 30 30 VENTAS BOGOTA

2400 JARAMILLO

OFICINISTA

1100 13/01/01 900000 NULL 30 30 VENTAS BOGOTA

2300 TOLEDO VENDEDOR

1100 15/11/01 1550000 0 30 30 VENTAS BOGOTA

2200 ARTEAGA

VENDEDOR

1100 10/02/01 1600000 700000 30 30 VENTAS BOGOTA

2100 MARTINEZ

VENDEDOR

1100 08/10/01 1200000 1100000 30 30 VENTAS BOGOTA

1100 BENAVIDEZ

GERENTE

1000 10/06/01 2900000 NULL 30 30 VENTAS BOGOTA

NUL NULL NULL NULL NULL NULL NULL NUL 40 OPERACI BUCARAMA

Page 14: Consultas Oracle SQL Developer

L L ONES NGANULL

NULL NULL NULL NULL NULL NULL NULL

50 NUEVA NUEVA