Table of Contents
Cómo funciona RIGHT JOIN en SQL
En este video vamos a aprender cómo funciona RIGHT JOIN en SQL. Pero antes, veamos qué significa esta sentencia.
RIGHT JOIN devuelve todos los registros de la tabla de la derecha y solo los registros coincidentes de la tabla de la izquierda. Si no hay coincidencias en la tabla de la izquierda, sus valores se rellenarán con NULL
.
Creación de la base de datos y tablas
Para entender mejor su funcionamiento, primero crearemos una base de datos y sus respectivas tablas.
- Abrimos MySQL Workbench (como hemos visto en otros videos).
- Creamos la base de datos (si no existe) y la usamos: CREATE DATABASE IF NOT EXISTS tienda_ropa; USE tienda_ropa;
- Creamos las tablas: CREATE TABLE clientes ( id INT PRIMARY KEY, nombre VARCHAR(100) ); CREATE TABLE pedidos ( id INT PRIMARY KEY, id_cliente INT, producto VARCHAR(100), FOREIGN KEY (id_cliente) REFERENCES clientes(id) );
- Insertamos datos en ambas tablas: INSERT INTO clientes (id, nombre) VALUES (1, 'Carlos'), (2, 'María'); INSERT INTO pedidos (id, id_cliente, producto) VALUES (1, 1, 'Zapatos'), (2, 3, 'Camisa');

Aplicando RIGHT JOIN
Ahora, ejecutamos una consulta para obtener los datos de ambas tablas usando RIGHT JOIN
:
SELECT
c.id AS cliente_id,
c.nombre,
p.id AS pedido_id,
p.producto
FROM pedidos p
RIGHT JOIN clientes c ON p.id_cliente = c.id;
🔹 Explicación:
- c.id AS cliente_id, c.nombre → Extrae el ID y nombre de la tabla
clientes
. - p.id AS pedido_id, p.producto → Extrae el ID y producto de la tabla
pedidos
. - RIGHT JOIN clientes c ON p.id_cliente = c.id → Une ambas tablas utilizando
id_cliente
como clave foránea.
Esto nos devuelve todos los registros de la tabla clientes
y solo los coincidentes de pedidos
. Si un cliente no tiene pedidos, los valores de pedidos
aparecerán como NULL
.
🔎Cómo sustituir una placa base A520 DS3H
Eliminando valores NULL
Si queremos ver solo los registros con coincidencias, agregamos una condición para eliminar los NULL
:
SELECT
c.id,
c.nombre,
p.id
p.producto
FROM pedidos p
RIGHT JOIN clientes c ON p.id_cliente = c.id
WHERE c.id IS NOT NULL;
📎Crear procedimiento almacenado con parámetros de entrada
Conclusión
Con RIGHT JOIN
podemos obtener todos los registros de una tabla y solo los coincidentes de la otra, rellenando con NULL
en caso necesario.
📎Cómo funciona LEFT JOIN en SQL
📌 Si te ha gustado este contenido, no olvides suscribirte y darle like. ¡Nos vemos en el próximo video!
Demostración en vídeo:
Seguir leyendo: