0% encontró este documento útil (0 votos)
3 vistas4 páginas

Tipos de JOIN en Consultas SQL

H

Cargado por

backplasma28
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
3 vistas4 páginas

Tipos de JOIN en Consultas SQL

H

Cargado por

backplasma28
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

DISEÑO DE BASES DE DATOS

CONSULTAS SOBRE VARIAS TABLAS. Tipos de JOIN

Las condiciones, predicados del join, se incluyen en la condición de la cláusula


WHERE.

1. Equicomposición.
Es el caso más habitual, en el cual la condición es una igualdad entre dos
columnas:
A.X = B.Y
2. Thetacomposición.
Similar a la anterior, pero el operador relacional que realiza la comparación es
distinto de la igualdad:
A.X θ B.Y | θ Є { >, <, <>, >=, <= }

3. Composición múltiple.
Es la generalización a más de dos tablas. Por ejemplo, para tres tablas la
condición será del tipo:
(A.X = B.Y1) AND (B.Y2 = C.Z)

1
DISEÑO DE BASES DE DATOS

CONSULTAS SOBRE VARIAS TABLAS. JOIN EN LA CLAÚSULA FROM

Una alternativa es especificar la operación JOIN en la claúsula FROM

En lugar de una tabla, se incluye en el FROM la operación JOIN que da lugar a la


tabla sobre la que se va a operar:

tabla1 [LEFT|RIGHT|FULL [OUTER]] JOIN tabla2 ON condicion

Ejemplo: las siguientes consultas son equivalentes

select [Link], [Link], [Link]


from autor a, nacionalidad n
where [Link]=cod_nacion and [Link]=‘ESPANA’;

select [Link], [Link], [Link]


from autor a join nacionalidad n on [Link]=cod_nacion
where [Link]=‘ESPANA’;
2
DISEÑO DE BASES DE DATOS

CONSULTAS SOBRE VARIAS TABLAS. JOIN EN LA CLAÚSULA FROM

OUTER JOIN
Devuelve todas las tuplas que satisfacen la condición de join y también
tuplas compuestas por tuplas de alguna de las tablas que no la satisfacen por
no existir tuplas correspondientes en la otra tabla. En esos casos, las
columnas de las tablas que no contienen la tupla correspondiente se
rellenarán con Nulos
EJEMPLO:
La siguiente consulta no devuelve ninguna tupla para aquellos lectores que
no han realizado ningún préstamo:

select [Link], ape_1, ape_2, [Link]


from lector l, prestamo p where [Link]=p.cod_lector;
La siguiente consulta devuelve todas las tuplas anteriores más aquellas de la
tabla de la izquierda (LEFT, es decir, LECTOR) que no se corresponden con
ninguna tupla de la otra tabla (PRESTAMOS):

select [Link], ape_1, ape_2, [Link]


from lector l LEFT JOIN prestamo p ON [Link]=p.cod_lector;

3
DISEÑO DE BASES DE DATOS

CONSULTAS SOBRE VARIAS TABLAS. JOIN EN LA CLAÚSULA FROM

OPERACIÓN JOIN
Cada operación de join devuelve como resultado una
única tabla que, a su vez, se puede utilizar para realizar
nuevas operaciones de join o productos cartesianos
(mediante operador coma “,”)
EJEMPLO:

select [Link], [Link], [Link], [Link]


from ((nacionalidad n join autor a on [Link]=cod_nacion)
left join escribe e on [Link]=e.cod_autor) left join libro l
on [Link]=[Link];
select [Link], [Link], [Link], [Link]
from nacionalidad n join autor a on [Link]=cod_nacion,
escribe e, libro l
where [Link]=e.cod_autor and [Link]=[Link]; 4

También podría gustarte