Sunteți pe pagina 1din 12

Visualizacin de Datos

de Varias Tablas Utilizando Uniones

SQL como DML Clusula SELECT

Obtencin de Datos de Varias Tablas


EMPLOYEES

DEPARTMENTS

Tipos de Uniones

Las uniones compatibles con el estndar SQL incluyen


elementos estndar conocidos como JOIN o UNIN.
El JOIN como operador del lenguaje mismo fue introducido en
versiones recientes de SQL, anteriormente se ejecutaba a
travs del filtro WHERE.

Creacin de Uniones con la Clusula ON

La condicin de unin de la unin natural es bsicamente


una unin igualitaria de todas las columnas con el mismo
nombre.
Utilizar la clusula ON para especificar condiciones
arbitrarias o columnas que se van a unir.
La condicin de unin est separada de otras condiciones
de bsqueda.
La clausula ON facilita la comprensin del cdigo.

Recuperacin de Registros con la Clusula ON

SELECT e.employee_id, e.last_name, e.department_id,


d.department_id, d.location_id
FROM
employees e JOIN departments d
ON
(e.department_id = d.department_id);

Creacin de Uniones en 3 Direcciones con la


Clusula ON
SELECT
FROM
JOIN
ON
JOIN
ON

employee_id, city, department_name


employees e
departments d
d.department_id = e.department_id
locations l
d.location_id = l.location_id;

Aplicacin de Condiciones Adicionales a una


Unin
Uso de la clusula AND o la clusula WHERE para aplicar
condiciones adicionales:
SELECT e.employee_id, e.last_name, e.department_id,
d.department_id, d.location_id
FROM
employees e JOIN departments d
ON
(e.department_id = d.department_id)
AND
e.manager_id = 149 ;

O bien
SELECT e.employee_id, e.last_name, e.department_id,
d.department_id, d.location_id
FROM
employees e JOIN departments d
ON
(e.department_id = d.department_id)
WHERE
e.manager_id = 149 ;

Devolucin de Registros sin Coincidencia Directa


con las uniones OUTER
DEPARTMENTS

No hay ningn empleado


en el departamento 190.
Al empleado Grant no
se le ha asignado un ID
departamento.

Uniones Igualitarias con EMPLOYEES

Uniones INNER frente a Uniones OUTER

En SQL:1999, la unin de dos tablas que devuelven slo


filas coincidentes se denomina unin INNER.

Una unin entre dos tablas que devuelve los resultados de


la unin INNER y las filas no coincidentes de las tablas
izquierda (o derecha) se denomina una unin OUTER.

Una unin entre dos tablas que devuelve los resultados de


una unin INNER y los resultados de una unin izquierda y
derecha da como resultado una unin OUTER completa.

LEFT OUTER JOIN

SELECT e.last_name, e.department_id, d.department_name


FROM
employees e LEFT OUTER JOIN departments d
ON
(e.department_id = d.department_id);

RIGHT OUTER JOIN

SELECT e.last_name, d.department_id, d.department_name


FROM
employees e RIGHT OUTER JOIN departments d
ON
(e.department_id = d.department_id);

FULL OUTER JOIN

SELECT e.last_name, d.department_id, d.department_name


FROM
employees e FULL OUTER JOIN departments d
ON
(e.department_id = d.department_id);

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