Operador JOIN

El operador JOIN permite escribir consultas SQL que obtienen datos de varias tablas según una condición de unión concreta.

A SQL query walks into a bar and sees two tables.
He walks up to them and says:
'Can I join you?'

INNER JOIN

Intersección de conjuntos

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 pertenececandy_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
Cat and candy tables inner join example
INNER JOIN se usa por defecto si no indicas palabras clave adicionales.
JOIN = INNER JOIN

Otros tipos de JOIN

LEFT JOIN, RIGHT JOIN, FULL JOIN

Además de INNER JOIN, hay otras formas de unir tablas:

LEFT JOIN incluye todas las filas de la tabla indicada antes de JOIN y las filas que coinciden en ambas tablas.


RIGHT JOIN incluye todas las filas de la tabla indicada después de JOIN y las filas que coinciden en ambas tablas.


FULL JOIN incluye todas las filas de ambas tablas.

Consultas JOIN con NULL

Para seleccionar solo filas que no aparecen en la intersección de las tablas, debes agregar esta condición a la consulta:

WHERE table_name.column_name IS NULL

LEFT JOIN con NULL


RIGHT JOIN con NULL


FULL JOIN con NULL

Tarea

Escribe una consulta SQL que devuelva todos los gatos y los caramelos que les pertenecen.

Simulador SQL

El simulador no admite operadores lógicos.

Esquema de base de datos:

Cat and candy tables database schema
¡Tarea disponible para usuarios premium!

Desbloquea el acceso para aprender sin límites.

Acceso completo a todas las tareas prácticas
Verificación de respuestas
Intentos ilimitados
Sidebar arrow

INTRODUCCIÓN

CONCEPTOS BÁSICOS

NIVELES DE PRUEBAS

PRUEBAS DE UI

DISEÑO DE PRUEBAS

DOCUMENTACIÓN DE PRUEBAS

AUTENTICACIÓN Y AUTORIZACIÓN

POSTMAN

BASES DE DATOS

PRUEBAS DE RELEASE

ANÁLISIS DE LA APLICACIÓN

PREPARACIÓN PARA ENTREVISTAS

Cómo escribir un CV Preguntas frecuentes de entrevista Test Entrevista simulada