🌺

HIBISCO SQL

EXCEPT

El operador EXCEPT devuelve las filas que aparecen en la primera consulta, pero no aparecen en la segunda. Se puede entender como una resta entre conjuntos.

Sintaxis

SELECT columna1, columna2
FROM tabla1
EXCEPT
SELECT columna1, columna2
FROM tabla2;

Ejercicio

Pregunta: Obtenga los nombres de los planetas con distancia mayor a 1.00, y que no estén en la tabla de satelites.

Tabla de ejemplo

tabla nombre dist radio grav días años temp anillo planeta descubridor año
planeta Mercurio 0,39 0,38 2,8 58,646 0,241 440 false - - -
planeta Venus 0,72 0,95 8,9 -243,019 0,615 730 false - - -
planeta Tierra 1,0 1,0 9,8 0,997 1,0 288 false - - -
planeta Marte 1,52 0,53 3,7 1,026 1,88 186 false - - -
planeta Júpiter 5,2 10,97 22,9 0,414 11,862 152 true - - -
planeta Saturno 9,54 9,14 9,1 0,444 29,447 134 true - - -
planeta Urano 19,19 3,98 7,8 -0,719 84,017 76 true - - -
planeta Neptuno 30,07 3,86 11,0 0,671 164,791 53 true - - -
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

Solución

SELECT nombre as planeta
FROM planeta
WHERE dist > 1.00
EXCEPT
SELECT planeta
FROM satelite;

Resultado esperado

Nombre
Marte
Urano