Tutorial de comandos SQL JOIN

Comandos SQL JOIN são fundamentais em análises e manipulações de bancos de dados relacionais. Eles permitem consultar e combinar dados relacionados de várias tabelas em tabelas de resultados. Dependendo do caso de uso, você pode utilizar comandos JOIN como INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN ou FULL JOIN.

O que são comandos SQL JOIN?

Para se trabalhar com bancos de dados, seja localmente ou em nuvem, a linguagem de programação e banco de dados SQL é considerada o padrão. Ela permite não apenas a criação de bancos de dados relacionais, mas também a execução de consultas de dados por meio de comandos SQL. Entre os comandos mais importantes e frequentemente utilizados estão os da categoria de SQL JOIN.

SQL JOIN são comandos que permitem consultar, relacionar e combinar dados de forma significativa entre diferentes tabelas. A única condição necessária é a existência de uma conexão lógica entre as tabelas. Essa conexão é estabelecida por meio de chaves primárias e estrangeiras apropriadas, através das quais os dados podem ser combinados usando comandos JOIN.

Dica

As chaves primárias e chaves estrangeiras são fundamentais para os comandos SQL JOIN. As chaves primárias identificam exclusivamente cada linha de uma tabela e não podem conter valores nulos. As chaves estrangeiras estabelecem uma conexão entre tabelas diferentes. Por exemplo, em uma tabela de funcionários, “ID do Funcionário” pode ser a chave primária. Em uma tabela de veículos, “ID do Veículo” pode ser a chave primária. Ambas as tabelas podem ser relacionadas usando “ID do Veículo” como uma chave estrangeira na tabela de funcionários.

Tipos de comandos SQL JOIN

Dependendo do caso de uso, diferentes comandos JOIN podem ser aplicados. Primeiro, vamos revisar os parâmetros básicos:

  • SELECT: Define as colunas que serão consideradas no SQL JOIN. Usando um asterisco *, você pode selecionar o conjunto de dados inteiro.
  • FROM: Define a tabela da qual os dados serão combinados com outra tabela.
  • JOIN command: Gera uma tabela de resultados conforme o comando JOIN, que vincula, combina ou compara dados selecionados.
  • ON: Especifica a condição do JOIN pela qual os dados recuperados são combinados.

A sintaxe básica da maioria dos comandos SQL JOIN contém parâmetros semelhantes:

SELECT colunaA, colunaB,FROM tabelaA
JOIN-comando tabelaB
ON tabelaA.coluna = tabelaB.coluna
sql
Dica

Você está procurando uma solução segura e poderosa para a gestão do seu sistema de banco de dados? Com o SQL Server Hosting oferecido pela IONOS, você tem acesso a ofertas de servidores e hospedagem que cumprem os padrões alemães de proteção de dados, incluindo servidores em nuvem, servidores virtuais (VPS), servidores dedicados ou hospedagem Linux com MSSQL, MySQL ou MariaDB.

vServer (VPS) da IONOS

Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.

  • Armazenamento 100% SSD
  • Pronto em 55 segundos
  • Certificado SSL

Os comandos SQL JOIN mais importantes são apresentados a seguir.

SQL INNER JOIN

Este comando permite combinar dados de duas tabelas em uma tabela de resultados quando dois valores coincidem em uma coluna comum. O INNER JOIN é o comando JOIN mais frequentemente utilizado e é a configuração padrão quando nenhum tipo específico de JOIN é selecionado.

Exemplo prático:

O INNER JOIN pode ser utilizado com uma tabela “Pedidos”, contendo as colunas “Número do Pedido”, “ID do Cliente”, “ID do Produto” e “Data do Pedido”, assim como com uma tabela “Clientes”, contendo as colunas “ID do cliente”, “Nome” e “Endereço”. A coluna “ID do cliente” atua como chave primária na tabela “Clientes” e como chave estrangeira na tabela “Pedidos”. O INNER JOIN combina, com base no ID do cliente, todos os pedidos e dados de clientes na tabela de resultados.

O comando SQL INNER JOIN é o seguinte:

SELECT pedidos.número_pedido, clientes.nome, pedidos.produtoid, pedidos.data_pedido
FROM pedidos
INNER JOIN clientes
ON pedidos.clienteid = clientes.clienteid
sql

OUTER JOIN

OUTER JOIN é um termo abrangente para os comandos SQL LEFT JOIN, RIGHT JOIN e FULL JOIN. Ao contrário do INNER JOIN, o SQL OUTER JOIN combina não apenas linhas correspondentes, mas também linhas não correspondentes usando o valor NULL. Uma explicação detalhada segue nas seções LEFT JOIN, RIGHT JOIN e FULL JOIN.

SQL LEFT JOIN

O comando LEFT JOIN conecta todos os dados de uma tabela à esquerda com os dados correspondentes da tabela à direita. Para linhas que não correspondem, o comando retorna um valor NULL.

Exemplo prático:

O SQL LEFT JOIN combina tanto registros correspondentes quanto não correspondentes de uma tabela à esquerda “Clientes” com uma tabela à direita “Veículos”, usando a coluna comum “VeículoID”. Diferentemente do INNER JOIN, o comando também retorna dados não correspondentes com o valor NULL.

O comando SQL LEFT JOIN é o seguinte:

SELECT  *
FROM  clientes
LEFT JOIN  veículos
ON  clientes.veículoid  =  veículos.veículoid
### SQL RIGHT JOIN
O comando RIGHT JOIN conecta dados **da tabela à direita com dados correspondentes da tabela à esquerda**. Quando não há correspondência, também aparece um valor NULL nas colunas da tabela à esquerda.
**Exemplo prático**:
O comando SQL RIGHT JOIN adiciona, com base no `Id do Cliente`, todos os dados selecionados da tabela à direita, “Pedidos”, à tabela à esquerda, “Clientes”. Quando não há correspondência, o comando retorna o valor NULL – por exemplo, se para um `Id do Cliente` não houver pedidos nem nomes.
O comando SQL RIGHT JOIN é o seguinte:
```sql
SELECT  pedidos.numero_pedido, clientes.nome, pedidos.produtoid, pedidos.data_pedido
FROM  clientes
RIGHT JOIN  pedidos
ON  pedidos.clienteid  =  clientes.clienteid
sql

SQL FULL JOIN

O comando FULL JOIN é uma combinação de LEFT JOIN e RIGHT JOIN e também é conhecido como FULL OUTER JOIN. Esse comando reúne todos os registros e colunas de ambas as tabelas. Quando não há correspondência, o comando retorna valores NULL.

Exemplo prático:

O FULL JOIN combina todos os dados correspondentes e não correspondentes de uma tabela à direita “Funcionários” com uma tabela à esquerda “Departamento” com base no ID do departamento. Se não houver um departamento correspondente, será exibido um valor NULL na coluna de Departamento.

O comando SQL FULL JOIN é como segue:

SELECT  *
FROM  funcionários
FULL JOIN  departamento
ON  funcionários.departamentoid  =  departamento.departamentoid
### CROSS JOIN
O `CROSS JOIN` é também conhecido como JOIN cartesiano. Ele combina todos os registros da tabela esquerda com todos os registros da tabela direita **independentemente de correspondências**. Como ele retorna todas as combinações possíveis, não é necessário um parâmetro ON para uma condição de JOIN.
**Exemplo prático**:
O `CROSS JOIN` combina todos os dados da tabela direita “Produtos” com a tabela à esquerda “Pedidos”.
O comando SQL `CROSS JOIN` é como segue:
```sql
SELECT  *
FROM  produtos
CROSS JOIN  pedidos
sql

NATURAL JOIN

O comando NATURAL JOIN combina todos os registros de duas tabelas com base em colunas comuns. O parâmetro ON não é necessário, pois a coluna comum não é uma exigência, e o comando automaticamente une as colunas comuns das tabelas.

Exemplo prático:

O NATURAL JOIN combina as tabelas “Equipe” e “Departamento” com base nas colunas comuns. O comando retorna resultados apenas se houver colunas com o mesmo nome em ambas as tabelas .

O SQL NATURAL JOIN é como segue:

SELECT  *
FROM  pedidos
NATURAL JOIN  departamento
sql

SQL SELF JOIN

O comando SQL SELF JOIN combina uma tabela com ela mesma, tratando-a como tabela esquerda e direita. Você pode, portanto, usar qualquer outro comando para uma operação de SELF JOIN. Na sintaxe, t1 e t2 são aliases para a tabela direita e esquerda, já que é a mesma tabela.

Sintaxe Básica com Exemplo de LEFT JOIN:

SELECT  *
FROM  tabelaA AS t1
LEFT JOIN  tabelaA AS t2
ON  t1.nome_coluna  =  t2.nome_coluna
sql
Dica

Para uma visão rápida da aplicação de SQL, veja também nossa introdução ao SQL com exemplos.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top