RIGHT JOIN e FULL JOIN
Um RIGHT JOIN mantém todas as linhas da tabela da direita. Um FULL JOIN mantém as linhas sem correspondência das duas tabelas.
Sintaxe
SELECT … FROM a RIGHT JOIN b ON a.key = b.key;SELECT … FROM a FULL JOIN b ON a.key = b.key;
- Quando uma linha não tem correspondência, as colunas da outra tabela ficam NULL.
Exemplo
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 e cada cliente; os lados sem correspondência mostram NULL.
Tabelas usadas: customers, orders. Experimente em uma lição abaixo.
Erros comuns
- Uma condição sobre a tabela da direita no WHERE remove as linhas com NULL. Coloque-a no ON.