Sie sind auf Seite 1von 13

CONSULTAS MLTIPLES EN ORACLE

4.1 OPERACIONES CON MLTIPLES TABLAS Corresponden a todas aquellas operaciones que permiten la recuperacin de datos procedentes de varias tablas. Este proceso es de mucha utilidad toda vez que los datos al encontrarse dispersos propios del modelamiento de la base de datos, ayudaran a extraer la informacin pertinente segn sea el caso propuesto. En el presente cuaderno expresaremos algunas formas de trabajar las mltiples tablas: 4.1.1 EQUI JOIN Recupera registros de dos o ms tablas unidas en base a una condicin de igualdad expresada en la clusula WHERE. La estructura de un equijoin se expresa como: SELECT [tabla.]campo , [tabla.]campo , .... FROM tabla1, tabla2, . WHERE [tabla1.]campo = [tabla2.]campo; Ejercicios: Mostrar el nombre del empleado y el nombre del departamento donde trabajan. Usar las tablas employees y departments.

Mostrar el nombre del departamento y la direccin de la calle. Usar las tablas departments y locations.

Mostrar el nombre del empleado, el nombre del departamento y la direccin de la calle. Para este ejemplo utilice nombre de alias para las tablas employees, departments y locations.

4.1.2 SELF JOIN Permite hacer la unin de una tabla con ella misma, como si se tratara de dos tablas separadas. Ejercicios: Mostrar la relacin del nombre de empleado y nombre del gerente para la tabla employees, rotule esta columna como Asociacin : nombre_empleado trabaja para nombre_gerente

4.1.3 OUTER JOIN Permite hacer un join con las tablas mostrando los registros relacionados y no relacionados. Ejercicios: Mostrar los nombres de los empleados, los cdigos de los departamentos y el nombre del departamento. Incluya en este reporte los cdigos y nombre de departamentos que actualmente no tienen empleados asignados.

SUBCONSULTAS EN ORACLE
5.1 OPERACIONES CON SUBCONSULTAS Seleccionan registros de una tabla con una condicin que depende de valores de otra consulta. Aparece dentro de la clusula Where de la sentencia Select, la cual se conoce con el nombre de consulta principal. SELECT Consulta FROM Principal WHERE . ( Select

From .. Sub Consulta Where .. )

En el presente cuaderno expresaremos algunas formas de trabajar con subconsultas: 5.1.1 Subconsulta de Registro nico Una subconsulta de registro nico, recupera un slo registro para completar la condicin del WHERE. Ejercicios: Mostrar el nombre y el salario de todos los empleados que trabajen en el mismo departamento que el empleado con el nombre de Diana.

Mostrar el nombre y la cuenta de correo electrnico para todos los empleados que trabajen en el mismo departamento que el empleado con apellido Pataballa. Excluir de esta lista a este empleado.

5.1.2 Subconsulta de Mltiple Registro Una subconsulta de registro mltiple, recupera ms de un valor para completar la condicin del WHERE. Ejercicio: Mostrar el nombre y la fecha de contratacin de todos los empleados donde labore cualquier empleado cuyo apellido sean Seo o Olsen.

5.1.3 Funciones de Grupo en Subconsultas Como alternativa se puede colocar la funcin de grupo dentro de la subconsulta y de esta forma construir querys que permitan extraer cierto tipo de informacin. Ejercicio: Mostrar el nombre, apellido y la fecha de contratacin del primer empleado contratado. Emplear tabla employees.

5.1.4 Parmetro Exists en Subconsulta Parmetro que permite comprobar si una subconsulta produce alguna respuesta, en cuyo caso mostrar el registro de la consulta principal que actualmente est leyendo. Ejercicio: Mostrar el nombre, apellido y salario de los empleados para los cuales exista un historial del trabajador.

Mostrar los nombres de los departamentos para los cuales exista empleados asignados.

5.1.5 Parmetro ANY en Subconsulta Se utiliza conjuntamente con uno de los operadores de comparacin de SQL (=, >, <, >=, <=, <>) para comparar un nico valor de test con una columna de valores producidos por una subconsulta. Si alguno de las comparaciones individuales produce un resultado verdadero, entonces devolver verdadero. La estructura propuesta para ANY es: Select From . Where A operador ANY ( Select B . ) Ejercicios: Mostrar los ttulos de los puestos en donde algn empleado presente un salario mayor al promedio del salario mnimo y mximo de la tabla Jobs.

Mostrar los ttulos de los puestos en donde algn empleado presente un salario igual al 80% del salario mximo de la tabla Jobs.

5.1.6 Parmetro ALL en Subconsulta Se utiliza conjuntamente con alguno de los operadores de comparacin de SQL (=, >, <, >=, <=, <>), para comparar un nico valor del test con una columna de valores de datos producidos por la subconsulta de los cuales todos deben cumplir la condicin, caso contrario ser falso. La estructura propuesta para ALL es: Select From . Where A operador ALL ( Select B . ) Ejercicios: Mostrar los ttulos de los puestos en donde todos los empleados presenten un salario mayor al promedio del salario mnimo y mximo de la tabla Jobs.

Mostrar los ttulos de los puestos en donde todos los empleados presenten un salario mayor al 80% del salario mximo de la tabla Jobs.

5.1.7 Subconsultas Anidadas Del mismo modo que se puede utilizar una subconsulta dentro de una consulta principal, se puede utilizar subconsulta dentro de otra subconsulta. Ejercicios: Mostrar los nombres de los departamentos cuyos lugares estn relacionados con el pas de United States of America

Mostrar las ciudades cuyos pases estn relacionados con el continente Europe.

Das könnte Ihnen auch gefallen