Como trazer todos os registros da tabela da esquerda, mesmo sem correspondência
O LEFT JOIN retorna todos os registros da tabela da esquerda (a do FROM), mais os correspondentes da tabela da direita. Onde não há correspondência, as colunas da direita vêm como NULL.
Carregando...
Listando todos os clientes e seus pedidos, inclusive quem nunca pediu nada:
Carregando...
nome | pedido_id | total
--------------+-----------+--------
Ana Souza | 1 | 3500
Ana Souza | 2 | 179.80
Pedro Lima | 3 | 199.90
João Costa | 4 | 850
Carla Mendes | 5 | 840
Se houvesse um cliente sem nenhum pedido, ele apareceria com NULL nas colunas de pedido.
O padrão mais usado com LEFT JOIN: identificar registros sem par na outra tabela:
Carregando...
Carregando...
Com INNER JOIN, clientes sem pedidos desapareceriam do resultado. Com LEFT JOIN, eles aparecem com total_pedidos = 0.
O
LEFT JOINé o segundo tipo mais usado, logo após oINNER JOIN. Sempre que precisar garantir que todos os registros de uma tabela apareçam no resultado, independentemente de ter par na outra, ele é a escolha certa.