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.