RIGHT JOIN y FULL JOIN

Un RIGHT JOIN conserva todas las filas de la tabla derecha. Un FULL JOIN conserva las filas sin coincidencia de ambas tablas.

Sintaxis

SELECT … FROM a RIGHT JOIN b ON a.key = b.key;
SELECT … FROM a FULL JOIN b ON a.key = b.key;
  • Cuando una fila no tiene coincidencia, las columnas de la otra tabla son NULL.

Ejemplo

SELECT c.last_name, o.order_id FROM customers AS c FULL JOIN orders AS o ON o.customer_id = c.customer_id;

Cada pedido y cada cliente; los lados sin coincidencia muestran NULL.

Tablas usadas: customers, orders. Pruébalo en una lección de abajo.

Errores comunes

  • Una condición sobre la tabla derecha en WHERE elimina las filas con NULL. Ponla en ON en su lugar.

Practícalo