El operador JOIN funciona de forma similar a las operaciones con conjuntos en álgebra relacional.
Supongamos que tenemos dos tablas: cats y candies. Cada fila de la tabla cat contiene el ID del caramelo que le pertenece
— candy_id.
tabla cat
| id |
name |
candy_id |
| 1 |
Mia |
3 |
| 2 |
Hermano del Gato Astronauta |
null |
| 3 |
Gato Astronauta |
2 |
tabla candy
| id |
name |
| 1 |
Praliné Plutoniano |
| 2 |
Cometa Explosivo |
| 3 |
Armonía Universal |
null
— valor especial que significa «sin datos»; el gato con ID 2 no tiene caramelo.
Construyamos una consulta SQL que una las tablas cat y candy usando la condición de igualdad para el ID del caramelo (candy_id = id) en ambas tablas.
SELECT cat.name, candy.name -- seleccionar nombres de gatos y nombres de caramelos
FROM cat -- desde la tabla cat
JOIN candy ON cat.candy_id = candy.id; -- unir con la tabla candy por coincidencia del ID del caramelo
El resultado de la consulta será una tabla unida con filas combinadas de
cat y candy.
Tabla unida de cat y candy
| cat.name |
candy.name |
| Mia |
Armonía Universal |
| Gato Astronauta |
Cometa Explosivo |
INNER JOIN se usa por defecto si no indicas palabras clave adicionales.
JOIN = INNER JOIN