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

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_clientenomecidade
1JoãoSão Paulo
2MariaRio de Janeiro
3PedroBelo Horizonte

Estrutura da tabela pedidos

id_pedidoid_clienteprodutovalor
1011Notebook3000
1021Smartphone1500
1032Tablet1200

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

nomeprodutovalor
JoãoNotebook3000
JoãoSmartphone1500
MariaTablet1200

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_produtonome_produtocategoria
1NotebookEletrônicos
2SmartphoneEletrônicos
3TabletEletrô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

nomenome_produtocategoriavalor
JoãoNotebookEletrônicos3000
JoãoSmartphoneEletrônicos1500
MariaTabletEletrônicos1200

Aqui estamos utilizando múltiplos INNER JOINs para combinar dados de três tabelas diferentes, retornando informações mais completas.

Vantagens do INNER JOIN

  1. 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;

  2. Clareza: Usar INNER JOIN ajuda a deixar a intenção da consulta mais clara, explicitando o relacionamento entre tabelas;

  3. 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. 

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:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene 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 *