Left Join

No PostgreSQL, a cláusula LEFT JOIN é usada para combinar registros de duas tabelas ou mais com base em uma condição de junção e retornar todos os registros correspondentes da tabela à esquerda e os registros correspondentes da tabela à direita. Se não houver correspondência, a consulta ainda retornará as linhas da tabela à esquerda, preenchendo com valores nulos nas colunas da tabela à direita. A sintaxe básica é a seguinte:

SELECT colunas
FROM tabela1
LEFT JOIN tabela2
ON tabela1.coluna = tabela2.coluna;

Neste tipo de junção, a tabela à esquerda é a tabela da qual você deseja todos os registros, e a tabela à direita é a tabela com a qual você deseja combinar os registros correspondentes.

Aqui está um exemplo prático de como usar a cláusula LEFT JOIN:

Suponha que você tenha duas tabelas, clientes e pedidos, e você deseja combinar essas tabelas para encontrar todos os clientes e seus pedidos correspondentes, incluindo os clientes que não fizeram nenhum pedido.

SELECT clientes.nome AS nome_cliente, pedidos.numero_pedido
FROM clientes
LEFT JOIN pedidos
ON clientes.id = pedidos.cliente_id;

Neste exemplo, a cláusula LEFT JOIN é usada para combinar as tabelas clientes e pedidos com base na correspondência da coluna id na tabela clientes com a coluna cliente_id na tabela pedidos. A consulta retornará todos os clientes e seus pedidos correspondentes, incluindo clientes que não fizeram nenhum pedido, representados por valores nulos na coluna numero_pedido.

O LEFT JOIN é uma ferramenta poderosa para combinar dados de tabelas de maneira flexível, permitindo que você recupere informações de uma tabela principal (a tabela à esquerda) e combine-as com dados relacionados de outras tabelas (a tabela à direita). É particularmente útil quando você deseja recuperar todos os registros da tabela à esquerda, independentemente de haver uma correspondência na tabela à direita.