🌺

HIBISCO SQL

NESTED QUERYS

Las consultas anidadas permiten utilizar una consulta dentro de otra. Son útiles cuando el resultado de una consulta secundaria se usa como condición de la consulta principal.

Sintaxis

SELECT columna1, columna2
FROM tabla1
WHERE columna IN (
    SELECT columna
    FROM tabla2
    WHERE condición
);

Ejercicio

Pregunta: Obtenga las naves y planetas de los aterrizajes realizados después del año 2000 en planetas con gravedad menor o igual a 9.8.

Tabla de ejemplo

tabla nombre dist radio grav días años temp anillo nave planeta país 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 - - - -
aterrizaje - - - - - - - - Viking 1 Marte EEUU 1976
aterrizaje - - - - - - - - Beagle 2 Marte ESA 2003
aterrizaje - - - - - - - - Galileo Júpiter EEUU 2003
aterrizaje - - - - - - - - Mars 2 Lander Marte URRS 1971
aterrizaje - - - - - - - - Messenger Mercurio EEUU 2015
aterrizaje - - - - - - - - Pioneer Venus EEUU 1978
aterrizaje - - - - - - - - Venera 3 Venus URRS 1966

Solución

SELECT nave, planeta
FROM aterrizaje
WHERE planeta NOT IN
    ( SELECT nombre
    FROM planeta
    WHERE grav > 9.8 )
AND año > 2000;

Resultado esperado

Nombre Ciudad
Beagle 2 Marte
Messenger Mercurio