JOIN
El operador JOIN permite combinar filas de dos tablas relacionadas. El INNER JOIN devuelve solo las filas que tienen coincidencia en ambas tablas.
Sintaxis
SELECT tabla1.columna, tabla2.columna FROM tabla1 JOIN tabla2 ON tabla1.columna_comun = tabla2.columna_comun;
Ejercicio
Pregunta: Obtenga el nombre del planeta, el año y la nave de los aterrizajes realizados en años igual o posterior al 2000, y en planetas con distancia mayor a 1.00.
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 nombre, año, nave FROM Planeta JOIN Aterrizaje ON nombre = planeta WHERE dist > 1.00 AND año >= 2000
Resultado esperado
| estudiante | curso | |
|---|---|---|
| Marte | 2003 | Beagle 2 |
| Júpiter | 2003 | Galileo |