A cláusula INNER JOIN é uma das funcionalidades mais importantes no SQL quando se trata de combinar dados de duas ou mais tabelas. Ela permite que você relacione informações armazenadas em diferentes tabelas, com base em uma condição de correspondência (normalmente uma chave primária e uma chave estrangeira), retornando apenas os registros que possuem correspondência em ambas as tabelas envolvidas.
Sintaxe da cláusula INNER JOIN
A sintaxe básica para usar o INNER JOIN é a seguinte:
SELECT colunas
FROM tabela1
INNER JOIN tabela2
ON tabela1.coluna = tabela2.coluna;
colunas: As colunas que você deseja selecionar das tabelas.
tabela1 e tabela2: As tabelas que você deseja relacionar.
ON: A condição que define como os registros das duas tabelas se correspondem.
Exemplo prático de INNER JOIN
Vamos imaginar que você tem duas tabelas em um banco de dados: clientes
e pedidos
. A tabela clientes
armazena informações sobre os clientes, e a tabela pedidos
contém informações sobre os pedidos feitos por esses clientes. Ambas as tabelas estão relacionadas pelo campo id_cliente
.
Estrutura da Tabela clientes
id_cliente | nome | cidade |
---|---|---|
1 | João | São Paulo |
2 | Maria | Rio de Janeiro |
3 | Pedro | Belo Horizonte |
Estrutura da tabela pedidos
id_pedido | id_cliente | produto | valor |
---|---|---|---|
101 | 1 | Notebook | 3000 |
102 | 1 | Smartphone | 1500 |
103 | 2 | Tablet | 1200 |
Agora, você quer ver uma lista de todos os pedidos com os nomes dos clientes que os fizeram. Para isso, usaremos um INNER JOIN entre as tabelas clientes
e pedidos
, com base no campo id_cliente
.
SELECT clientes.nome, pedidos.produto, pedidos.valor
FROM clientes
INNER JOIN pedidos
ON clientes.id_cliente = pedidos.id_cliente;
Resultado da consulta
nome | produto | valor |
---|---|---|
João | Notebook | 3000 |
João | Smartphone | 1500 |
Maria | Tablet | 1200 |
Neste exemplo, os dados das duas tabelas são combinados para mostrar os pedidos associados a cada cliente.
Usando INNER JOIN com múltiplas tabelas
Você também pode usar INNER JOIN para combinar dados de mais de duas tabelas. Por exemplo, se tivermos uma terceira tabela produtos
que armazena informações detalhadas sobre os produtos, podemos fazer um INNER JOIN adicional para exibir mais informações.
Estrutura da tabela produtos
id_produto | nome_produto | categoria |
---|---|---|
1 | Notebook | Eletrônicos |
2 | Smartphone | Eletrônicos |
3 | Tablet | Eletrônicos |
Agora, vamos combinar as três tabelas para obter os detalhes do cliente, produto e sua categoria:
SELECT clientes.nome, produtos.nome_produto, produtos.categoria, pedidos.valor
FROM clientes
INNER JOIN pedidos ON clientes.id_cliente = pedidos.id_cliente
INNER JOIN produtos ON pedidos.produto = produtos.nome_produto;
Resultado da consulta
nome | nome_produto | categoria | valor |
---|---|---|---|
João | Notebook | Eletrônicos | 3000 |
João | Smartphone | Eletrônicos | 1500 |
Maria | Tablet | Eletrônicos | 1200 |
Aqui estamos utilizando múltiplos INNER JOINs para combinar dados de três tabelas diferentes, retornando informações mais completas.
Vantagens do INNER JOIN
- Eficiência: O INNER JOIN é ideal para cenários em que você deseja apenas os dados que possuem correspondência em ambas as tabelas, otimizando o volume de dados retornado;
- Clareza: Usar INNER JOIN ajuda a deixar a intenção da consulta mais clara, explicitando o relacionamento entre tabelas;
- Versatilidade: Pode ser usado com múltiplas tabelas, o que permite construir consultas complexas com diversas fontes de dados relacionadas.
A cláusula INNER JOIN é uma ferramenta poderosa para combinar dados de diferentes tabelas, especialmente quando você precisa trabalhar com dados que têm correspondência entre si.
Seja para unir informações de clientes e pedidos, produtos e categorias, ou quaisquer outras tabelas relacionadas, o INNER JOIN é uma forma eficiente de trazer os dados que realmente importam para a sua análise.
SELECT * FROM cliente INNER JOIN compras ON idCliente
//ou
SELECT nome FROM cliente INNER JOIN compras ON cliente.idCliente = compras.idCliente
No caso acima, serão mostrados os nomes dos clientes da tabela de clientes caso o código (idCliente) conste na tabela de vendas.
O parâmetro AS
Durante o uso de um comando SQL, em casos em que sejam utilizados campos de nomes muito longos ou por outros motivos, é possível atribuir um apelido (alias) para um campo específico para utilização na expressão SQL e na visualização dos resultados. O comando pode ser usado em qualquer consulta SQL.
Sintaxe:
SELECT <campo> AS <alias> FROM <tabela> WHERE <condições>
Exemplo:
SELECT * FROM tabelaDeForcenedoresExternos AS TFE
INNER JOIN tableDeProdutosEssenciais AS TPE
ON TFE.idFornecedor = TPE.idFornecedor
No caso acima, foram criados apelidos para as tabelas, de modo a evitar a escrita longa das mesmas.
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:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários