Outer Joins
Taller de Base de Datos
Outer Join

Es una operación de SQL que tiene como
objetivo mostrar el registro equivalente de
una tabla con otra (JOIN NATURAL) y
mantener el registro que no tuvo
coincidencia es correspondido con valores
nulos.

Existen tres tipo de Outer Joins
◦ Left Outer Join
◦ Right Outer Join
◦ Full Outer Join
Caso de Estudio
TABLA_A
TABLA_B
Id
Nombre
Id
Nombre
1
Pirata
1
Cáscara
2
Mono
2
Ninja
3
Ninja
3
Robot
4
Tallarines
4
Pirata
Ante la consulta:
SELECT * FROM TABLA_A A, TABLA_B B
WHERE A.NOMBRE = B.NOMBRE
Resultado JOIN:
ID NOMBRE
ID
NOMBRE
1
Pirata
4
Pirata
3
Ninja
2
Ninja
Left Outer Join

Left outer join produce el conjunto
completo de registros de la tabla A, con los
registros coincidentes (si están disponibles)
en la tabla B. Si no hay coincidencia, el lado
derecho contendrá null.

Consulta:
SELECT * FROM TABLA_A A
LEFT OUTER JOIN TABLA_B B
ON A.NOMBRE = B.NOMBRE
Resultado Left Outer Join
TABLA_A
TABLA_B
Id
Nombre
Id
Nombre
1
Pirata
1
Cáscara
2
Mono
2
Ninja
3
Ninja
3
Robot
4
Tallarines
4
Pirata
Resultado LEFT OUTER JOIN:
ID
NOMBRE
ID
NOMBRE
1
Pirata
4
Pirata
2
Mono
Null
Null
3
Ninja
2
Ninja
4
Tallarines
Null
Null
Right Outer Join

Esta operación 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). Si no hay coincidencia, el lado
izquierdo contendrá null.

Consulta:
SELECT * FROM TABLA_A A
RIGHT OUTER JOIN TABLA_B B
ON A.NOMBRE = B.NOMBRE
Resultado Right Outer Join
TABLA_A
TABLA_B
Id
Nombre
Id
Nombre
1
Pirata
1
Cáscara
2
Mono
2
Ninja
3
Ninja
3
Robot
4
Tallarines
4
Pirata
Resultado RIGHT OUTER JOIN:
ID
NOMBRE
ID
NOMBRE
1
Cáscara
Null
Null
2
Ninja
3
Ninja
3
Robot
Null
Null
4
Pirata
1
Pirata
Full Outer Join

Full outer join produce el conjunto de
todos los registros en las tablas A y B, con
registros coincidentes en ambos lados
cuando sea posible. Si no hay coincidencia, el
lado que falta contendrá null.

Consulta:
SELECT * FROM TABLA_A A
FULL OUTER JOIN TABLA_B B
ON A.NOMBRE = B.NOMBRE
Resultado Right Outer Join
TABLA_A
TABLA_B
Id
Nombre
Id
Nombre
1
Pirata
1
Cáscara
2
Mono
2
Ninja
3
Ninja
3
Robot
4
Tallarines
4
Pirata
Resultado FULL OUTER JOIN:
ID
NOMBRE
ID
NOMBRE
1
Pirata
4
Pirata
2
Mono
Null
Null
3
Ninja
2
Ninja
4
Tallarines
Null
Null
Null
Null
1
Cáscara
Null
Null
3
Robot
Desarrollar
•LEFT OUTER JOIN (NAVEGANTES-RESERVA)
•RIGHT OUTER JOIN (RESERVA-BOTES)
•FULL OUTER JOIN (RESERVA-BOTES)
Ejercicio
NAVEGANTES
IDN
NOMBRE
RATING
EDAD
CIUDAD
22
Pedro
7
45
Concepción
23
Andrés
1
35
Santiago
33
Loreto
8
31
Concepción
29
Natalia
7
40
Santiago
30
Esteban
4
50
Talca
RESERVA
BOTES
IDN
IDB
FECHAR
IDB
NOMBREB
23
102
10.11.2002
101
MARINO
AZUL
22
102
10.11.2002
102
INTER-LAGOS
ROJO
33
101
05.01.2005
103
CLIPPER
ROJO
104
INTER-LAGOS
VERDE
COLOR
¿PREGUNTAS?
Descargar

Descargar Material de Outer Joins