Consultas Oracle SQL Developer
Consultas Oracle SQL Developer
TECNOLOGA EN SISTEMAS EMPRESARIALES DE INFORMACIN INSTITUCIN UNIVERSITARIA TECNOLGICA DE COMFACAUCA POPAYAN_CAUCA 25 DE ABRIL DEL 2012
DEP_ID 10 20 30 40
Tabla Empleados
EMP_ID EMP_NOMBRE
EMP_CARGO
1000 1100 1200 1300 2100 2200 2300 2400 2500 3100 4100 4200 5000 6000
LOPEZ BENAVIDEZ CORDOBA JIMENEZ MARTINEZ ARTEAGA TOLEDO JARAMILLO ZAMBRANO MARTINEZ FERNANDEZ SANCHEZ SANDOVAL AGREDO
PRESIDENTE GERENTE GERENTE GERENTE VENDEDOR VENDEDOR VENDEDOR OFICINISTA VENDEDOR OFICINISTA ANALISTA ANALISTA OFICINISTA OFICINISTA
1000 1000 1000 1100 1100 1100 1100 1100 1200 1300 1300 4100 4200
07/08/01 10/06/01 19/06/01 12/07/01 08/10/01 10/02/01 15/11/01 13/01/01 22/02/01 03/03/02 05/12/01 04/10/02 07/09/03 02/01/04
7000000 2900000 2700000 2775000 1200000 1600000 1550000 900000 1250000 1400000 3050000 3005000 855000 1200000
10 30 10 20 30 30 30 30 30 10 20 20 20 20
2. INNER JOIN Con esta operacin 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 slo 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 nmero de departamento de un empleado no coincide con los nmeros 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 * FROM EMPLEADOS, DEPARTAMENTOS WHERE EMPLEADOS.DEP_ID = DEPARTAMENTOS.DEP_ID
RESULTADO
EMP EMP_NO EMP_C _ID MBRE ARGO 1000 LOPEZ PRESID ENTE 1100 BENAVI GEREN DEZ TE 1200 CORDOB GEREN A TE 1300 JIMENEZ GEREN TE 2100 MARTIN VENDE EZ DOR 2200 ARTEAG VENDE A DOR 2300 TOLEDO VENDE DOR 2400 JARAMI OFICINI LLO STA 2500 ZAMBR VENDE ANO DOR 3100 MARTIN OFICINI EZ STA 4100 FERNAN ANALIS DEZ TA 4200 SANCHE ANALIS Z TA 4. NATURAL JOIN
EMP_ JEFE
EMP_FECHAC EMP_SA ONTRATO LARIO 07/08/01 7000000 10/06/01 19/06/01 12/07/01 08/10/01 10/02/01 15/11/01 13/01/01 22/02/01 03/03/02 05/12/01 04/10/02 2900000 2700000 2775000 1200000 1600000 1550000 900000 1250000 1400000 3050000 3005000
EMP_CO MISION
1000 1000 1000 1100 1100 1100 1100 1100 1200 1300 1300
DEP_NO MBRE CONTABI LIDAD VENTAS CONTABI LIDAD INVESTI GACION VENTAS VENTAS VENTAS VENTAS VENTAS CONTABI LIDAD INVESTI GACION INVESTI GACION
DEP_LOCAL IZACION MEDELLIN BOGOTA MEDELLIN CALI BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA MEDELLIN CALI CALI
1100000 700000 0
30 30 30 30
600000
30 10 20 20
En este caso se comparan todas las columnas que tengan el mismo nombre en ambas tablas. La tabla resultante contiene slo una columna por cada par de columnas con el mismo nombre. SENTENCIA SELECT * FROM EMPLEADOS NATURAL JOIN DEPARTAMENTOS
RESULTADO DEP _ID 10 30 10 20 30 30 30 30 30 10 EMP _ID 1000 1100 1200 1300 2100 2200 2300 2400 2500 3100 EMP_NO MBRE LOPEZ EMP_C ARGO PRESIDE NTE BENAVID GERENT EZ E CORDOB GERENT A E JIMENEZ GERENT E MARTINE VENDED Z OR ARTEAG VENDED A OR TOLEDO VENDED OR JARAMIL OFICINI LO STA ZAMBRA VENDED NO OR MARTINE OFICINI EMP_J EFE EMP_FECHAC ONTRATO 07/08/01 10/06/01 19/06/01 12/07/01 08/10/01 10/02/01 15/11/01 13/01/01 22/02/01 03/03/02 EMP_SAL EMP_CO ARIO MISION 7000000 NULL 2900000 2700000 2775000 1200000 1600000 1550000 900000 1250000 1400000 NULL NULL NULL 1100000 700000 0 NULL 600000 NULL DEP_NOM DEP_LOCALI BRE ZACION CONTABI MEDELLIN LIDAD VENTAS BOGOTA CONTABI LIDAD INVESTIG ACION VENTAS VENTAS VENTAS VENTAS VENTAS CONTABI MEDELLIN CALI BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA MEDELLIN
20 20 20 20
5. CROSS JOIN Retorna todos los registros de todas las tablas implicadas en la unin, devuelve el producto cartesiano. SENTENCIA SELECT * FROM EMPLEADOS CROSS JOIN DEPARTAMENTOS RESULTADO EMP EMP_NO EMP_C _ID MBRE ARGO 1000 LOPEZ PRESID ENTE 1100 BENAVI GEREN DEZ TE 1200 CORDOB GEREN A TE 1300 JIMENEZ GEREN EMP_ JEFE EMP_FECHAC EMP_SA ONTRATO LARIO 07/08/01 7000000 10/06/01 19/06/01 12/07/01 2900000 2700000 2775000 EMP_CO MISION DEP DEP_ _ID ID_1 10 10 30 10 20 10 10 10 DEP_NO MBRE CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI DEP_LOCAL IZACION MEDELLIN MEDELLIN MEDELLIN MEDELLIN
2100 2200 2300 2400 2500 3100 4100 4200 5000 6000 1000 1100 1200 1300 2100
MARTIN EZ ARTEAG A TOLEDO JARAMI LLO ZAMBR ANO MARTIN EZ FERNAN DEZ SANCHE Z SANDOV AL AGREDO LOPEZ BENAVI DEZ CORDOB A JIMENEZ MARTIN EZ
TE VENDE DOR VENDE DOR VENDE DOR OFICINI STA VENDE DOR OFICINI STA ANALIS TA ANALIS TA OFICINI STA OFICINI STA PRESID ENTE GEREN TE GEREN TE GEREN TE VENDE DOR
1100 1100 1100 1100 1100 1200 1300 1300 4100 4200
08/10/01 10/02/01 15/11/01 13/01/01 22/02/01 03/03/02 05/12/01 04/10/02 07/09/03 02/01/04 07/08/01
1200000 1600000 1550000 900000 1250000 1400000 3050000 3005000 855000 1200000 7000000 2900000 2700000 2775000 1200000
1100000 700000 0
30 30 30 30
10 10 10 10 10 10 10 10 10 10 20 20 20 20 20
600000
30 10 20 20 20 20 10 30 10 20
1100000
30
LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION
MEDELLIN MEDELLIN MEDELLIN MEDELLIN MEDELLIN MEDELLIN MEDELLIN MEDELLIN MEDELLIN MEDELLIN CALI CALI CALI CALI CALI
2200 2300 2400 2500 3100 4100 4200 5000 6000 1000 1100 1200 1300 2100 2200 2300
ARTEAG A TOLEDO JARAMI LLO ZAMBR ANO MARTIN EZ FERNAN DEZ SANCHE Z SANDOV AL AGREDO LOPEZ BENAVI DEZ CORDOB A JIMENEZ MARTIN EZ ARTEAG A TOLEDO
VENDE DOR VENDE DOR OFICINI STA VENDE DOR OFICINI STA ANALIS TA ANALIS TA OFICINI STA OFICINI STA PRESID ENTE GEREN TE GEREN TE GEREN TE VENDE DOR VENDE DOR VENDE
10/02/01 15/11/01 13/01/01 22/02/01 03/03/02 05/12/01 04/10/02 07/09/03 02/01/04 07/08/01
1600000 1550000 900000 1250000 1400000 3050000 3005000 855000 1200000 7000000 2900000 2700000 2775000 1200000 1600000 1550000
700000 0
30 30 30
20 20 20 20 20 20 20 20 20 30 30 30 30 30 30 30
600000
30 10 20 20 20 20 10 30 10 20
INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION VENTAS VENTAS VENTAS VENTAS VENTAS VENTAS VENTAS
CALI CALI CALI CALI CALI CALI CALI CALI CALI BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA
1100000 700000 0
30 30 30
2400 2500 3100 4100 4200 5000 6000 1000 1100 1200 1300 2100 2200 2300 2400
JARAMI LLO ZAMBR ANO MARTIN EZ FERNAN DEZ SANCHE Z SANDOV AL AGREDO LOPEZ BENAVI DEZ CORDOB A JIMENEZ MARTIN EZ ARTEAG A TOLEDO JARAMI LLO
DOR OFICINI STA VENDE DOR OFICINI STA ANALIS TA ANALIS TA OFICINI STA OFICINI STA PRESID ENTE GEREN TE GEREN TE GEREN TE VENDE DOR VENDE DOR VENDE DOR OFICINI STA
900000 1250000 1400000 3050000 3005000 855000 1200000 7000000 2900000 2700000 2775000 1200000 1600000 1550000 900000 1100000 700000 0 600000
30 30 10 20 20 20 20 10 30 10 20 30 30 30 30
30 30 30 30 30 30 30 40 40 40 40 40 40 40 40
VENTAS VENTAS VENTAS VENTAS VENTAS VENTAS VENTAS OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES
BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA
VENDE DOR OFICINI STA ANALIS TA ANALIS TA OFICINI STA OFICINI STA
600000
30 10 20 20 20 20
40 40 40 40 40 40
OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES OPERACI ONES
BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA BUCARAMA NGA
6. LEFT JOIN El resultado de esta operacin 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. En el siguiente ejemplo se presentarn 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 EMP_NO EMP_C _ID MBRE ARGO 1000 LOPEZ PRESID ENTE 1100 BENAVI GEREN DEZ TE 1200 CORDOB GEREN A TE 1300 JIMENEZ GEREN TE 2100 MARTIN VENDE EZ DOR 2200 ARTEAG VENDE A DOR 2300 TOLEDO VENDE DOR 2400 JARAMI OFICINI LLO STA 2500 ZAMBR VENDE ANO DOR 3100 MARTIN OFICINI EZ STA 4100 FERNAN ANALIS DEZ TA 4200 SANCHE ANALIS Z TA 5000 SANDOV OFICINI AL STA 6000 AGREDO OFICINI EMP_ JEFE EMP_FECHAC EMP_SA ONTRATO LARIO 07/08/01 7000000 10/06/01 19/06/01 12/07/01 08/10/01 10/02/01 15/11/01 13/01/01 22/02/01 03/03/02 05/12/01 04/10/02 07/09/03 02/01/04 2900000 2700000 2775000 1200000 1600000 1550000 900000 1250000 1400000 3050000 3005000 855000 1200000 EMP_CO MISION (null) (null) (null) (null) 1100000 700000 0 (null) 600000 (null) (null) (null) (null) (null) DEP DEP_ _ID ID_1 10 10 30 10 20 30 30 30 30 30 10 20 20 20 20 30 10 20 30 30 30 30 30 10 20 20 20 20 DEP_NO MBRE CONTABI LIDAD VENTAS CONTABI LIDAD INVESTI GACION VENTAS VENTAS VENTAS VENTAS VENTAS CONTABI LIDAD INVESTI GACION INVESTI GACION INVESTI GACION INVESTI DEP_LOCAL IZACION MEDELLIN BOGOTA MEDELLIN CALI BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA MEDELLIN CALI CALI CALI CALI
1000 1000 1000 1100 1100 1100 1100 1100 1200 1300 1300 4100 4200
6500
NUEVA
STA NUEVA
1000
07/01/04
567888
(null)
(nul
(null)
GACION (null)
(null)
7. RIGHT JOIN Esta operacin es inversa a la anterior; el resultado de esta operacin 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 EMPLEADOS RIGHT JOIN DEPARTAMENTOS ON EMPLEADOS.DEP_ID = DEPARTAMENTOS.DEP_ID
RESULTADO EMP EMP_NO EMP_C _ID MBRE ARGO 3100 MARTIN OFICINI EZ STA 1000 LOPEZ PRESID ENTE 1200 CORDOB GEREN A TE 5000 SANDOV OFICINI EMP_ JEFE 1200 EMP_FECHAC EMP_SA ONTRATO LARIO 03/03/02 1400000 07/08/01 1000 4100 19/06/01 07/09/03 7000000 2700000 855000 EMP_CO MISION NULL NULL NULL NULL DEP DEP_ _ID ID_1 10 10 10 10 20 10 10 20 DEP_NO MBRE CONTABI LIDAD CONTABI LIDAD CONTABI LIDAD INVESTI DEP_LOCAL IZACION MEDELLIN MEDELLIN MEDELLIN CALI
4200 4100 6000 1300 2500 2400 2300 2200 2100 1100 NUL L NUL L
AL SANCHE Z FERNAN DEZ AGREDO JIMENEZ ZAMBR ANO JARAMI LLO TOLEDO ARTEAG A MARTIN EZ BENAVI DEZ NULL NULL
STA ANALIS TA ANALIS TA OFICINI STA GEREN TE VENDE DOR OFICINI STA VENDE DOR VENDE DOR VENDE DOR GEREN TE NULL NULL
1300 1300 4200 1000 1100 1100 1100 1100 1100 1000 NULL NULL
04/10/02 05/12/01 02/01/04 12/07/01 22/02/01 13/01/01 15/11/01 10/02/01 08/10/01 10/06/01 NULL NULL
3005000 3050000 1200000 2775000 1250000 900000 1550000 1600000 1200000 2900000 NULL NULL
NULL NULL NULL NULL 600000 NULL 0 700000 1100000 NULL NULL NULL
20 20 20 20 30 30 30 30 30 30
20 20 20 20 30 30 30 30 30 30
GACION INVESTI GACION INVESTI GACION INVESTI GACION INVESTI GACION VENTAS VENTAS VENTAS VENTAS VENTAS VENTAS OPERACI ONES NUEVA
CALI CALI CALI CALI BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA BOGOTA BUCARAMA NGA NUEVA
NUL 40 L NUL 50 L