Cláusula LEFT JOIN

A cláusula LEFT JOIN no SQL é uma das maneiras mais comuns de combinar dados de duas ou mais tabelas. Com ela, você consegue trazer todos os registros de uma tabela (à esquerda), além dos dados relacionados de outra tabela (à direita). Mesmo que não haja correspondência entre as tabelas, os registros da tabela à esquerda ainda serão exibidos, e os valores da tabela da direita aparecerão como NULL.

1. O que é a cláusula LEFT JOIN?

A LEFT JOIN retorna todos os registros da tabela à esquerda da junção, junto com os registros correspondentes da tabela à direita. Se não houver correspondência na tabela da direita, o SQL preenche os valores com NULL. É ideal para consultas onde você deseja garantir que todos os dados da tabela à esquerda sejam exibidos, independentemente da correspondência com a tabela à direita.

left join

Sintaxe básica:

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

tabela1: A tabela à esquerda, cujos registros aparecerão sempre no resultado.

tabela2: A tabela à direita, cujos registros aparecerão apenas se houver correspondência.

2. Exemplo de LEFT JOIN

Imagine que você tem duas tabelas: clientes e pedidos. Queremos exibir todos os clientes, incluindo aqueles que ainda não fizeram nenhum pedido.

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

Neste exemplo:

  • A tabela clientes está à esquerda, então todos os clientes aparecerão no resultado;

  • Se um cliente não tiver um pedido associado, a coluna numero_pedido aparecerá como NULL.

3. Quando usar LEFT JOIN?

Você deve usar LEFT JOIN quando precisa garantir que todos os registros da tabela à esquerda sejam exibidos, mesmo que não haja dados relacionados na tabela à direita. Alguns casos práticos incluem:

  • Clientes e pedidos: Ver todos os clientes, mesmo os que não fizeram pedidos;

  • Produtos e vendas: Listar todos os produtos, independentemente de terem sido vendidos;

  • Estudantes e cursos: Mostrar todos os alunos, mesmo que alguns não estejam matriculados em cursos.

4. Diferença entre LEFT JOIN e INNER JOIN

  • LEFT JOIN: Retorna todos os registros da tabela à esquerda e os correspondentes da tabela à direita (com NULL se não houver correspondência);

  • INNER JOIN: Retorna somente os registros que têm correspondência em ambas as tabelas.

5. Exemplo prático com LEFT JOIN

Vamos dizer que temos uma tabela alunos e uma tabela matriculas, e queremos listar todos os alunos, independentemente de estarem matriculados em cursos.

SELECT alunos.nome, matriculas.curso
FROM alunos
LEFT JOIN matriculas
ON alunos.id = matriculas.aluno_id;

Aqui, todos os alunos serão exibidos, e os que não estão matriculados terão NULL no campo curso.

Resumo

  • LEFT JOIN: Retorna todos os registros da tabela à esquerda, mesmo que não haja correspondência na tabela à direita;

  • Ideal para quando você quer garantir que todos os dados de uma tabela principal (à esquerda) sejam exibidos, com ou sem correspondência.

Com a cláusula LEFT JOIN, você pode combinar tabelas de maneira flexível, garantindo que nenhuma informação da tabela à esquerda seja excluída. Agora que você entende como ela funciona, pode utilizá-la para criar consultas eficientes e detalhadas no seu banco de dados!

APRENDA BANCO DE DADOS SQL DO BÁSICO AO AVANÇADO!

Domine os principais comandos, Operadores, Manipulação de dados, Funções, Drop e Uploads, Query, SubQuerys, Views, Segurança e muito mais!

O acesso ao nosso curso é vitalício e com suporte exclusivo.

CLIQUE NA IMAGEM ABAIXO PARA MAIS DETALHES:

linux dicas e truques

CLIQUE AQUI E SAIBA MAIS

Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits

Tags:

Sobre o Autor

Benedito Silva Júnior
Benedito Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *