🌺

HIBISCO SQL

OUTER JOIN

FULL OUTER JOIN devuelve todas las filas de ambas tablas. Cuando una fila no tiene coincidencia en la otra tabla, las columnas faltantes se muestran como NULL.

Sintaxis

SELECT tabla1.columna, tabla2.columna
FROM tabla1
FULL OUTER JOIN tabla2 ON tabla1.columna_comun = tabla2.columna_comun;

Ejercicio

Pregunta: Muestre todos los satelites y todos los aterrizajes, existan o no coincidencias entre sus planetas.

Tabla de ejemplo

tabla nombre planeta descubridor año nave país
satelite Calisto Júpiter Galileo Galilei 1610 - -
satelite Europa Júpiter Galileo Galilei 1610 - -
satelite Ganímedes Júpiter Galileo Galilei 1610 - -
satelite Ío Júpiter Galileo Galilei 1610 - -
satelite Luna Tierra - - - -
satelite Titán Saturno Christiaan Huygens 1655 - -
satelite Tritón Neptuno William Lassell 1846 - -
aterrizaje - Marte - 1976 Viking 1 EEUU
aterrizaje - Marte - 2003 Beagle 2 ESA
aterrizaje - Júpiter - 2003 Galileo EEUU
aterrizaje - Marte - 1971 Mars 2 Lander URRS
aterrizaje - Mercurio - 2015 Messenger EEUU
aterrizaje - Venus - 1978 Pioneer EEUU
aterrizaje - Venus - 1966 Venera 3 URRS

Solución

SELECT planeta, nave, nombre AS
satelite
FROM satelite S FULL OUTER JOIN
Aterrizaje A
ON S.planeta = A.planeta

Resultado esperado

nombre certificado
Tierra - Luna
Júpiter Galileo Ganímedes
Júpiter Galileo Calipso
Júpiter Galileo Europa
Júpiter Galileo Ío
Saturno - Titán
Neptuno - Tritón
Mercurio Mesenger -
Venus Venera 3 -
Venus Pioneer -
Marte Mars 2 lander -
Marte Viking 1 -
Marte Beagle 2 -