Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Juntar 2 Tabelas | Junção de Tabelas
SQL Intermediário
Seção 3. Capítulo 1
single

single

Juntar 2 Tabelas

Deslize para mostrar o menu

Você chamou a atenção de uma empresa que possui uma pequena loja online. Eles têm 2 tabelas que estão relacionadas entre si. A primeira tabela contém informações sobre os produtos vendidos na loja online.

Veja como é a tabela product:

A segunda tabela contém as categorias de produtos no site, juntamente com uma breve descrição para cada categoria.

Veja como é a tabela category:

Sua primeira tarefa é fazer o join dessas duas tabelas para descobrir quantos produtos existem em cada categoria. Será utilizada uma instrução JOIN para isso.

Antes de iniciar a tarefa, vamos entender o que é uma instrução JOIN e como ela funciona.

Note
Definição

JOIN em SQL é uma operação que combina linhas de duas ou mais tabelas com base em uma coluna relacionada entre elas. O JOIN permite obter dados de várias tabelas em uma única consulta, o que simplifica a análise e o processamento de dados relacionados.

Para unir duas tabelas, elas precisam compartilhar uma coluna em comum. Para as tabelas, esse vínculo compartilhado é product.category_id e category.id.

Note
Nota

Ao escrever colunas dessas tabelas, comece com o nome da tabela, adicione um ponto e depois o nome da coluna. Isso ajuda a manter o código claro, especialmente quando as tabelas possuem colunas com o mesmo nome. Indica ao SQL exatamente de qual tabela e coluna você está se referindo.

Veja como o JOIN funciona na prática. Imagine que queremos obter o preço médio dos produtos para cada nome de categoria.

A consulta para realizar isso é assim:

1234
SELECT category.name, AVG(product.price) AS average_price FROM product JOIN category ON product.category_id = category.id GROUP BY category.name

Aqui está uma explicação de como utilizamos o JOIN em nossa consulta:

  1. Na parte SELECT, listamos as colunas desejadas de ambas as tabelas, incluindo o nome da tabela para maior clareza;
  2. Na parte JOIN, especificamos a tabela a ser unida (category) e as colunas em comum que as conectam (product.category_id = category.id);
  3. Em seguida, agrupamos os dados por category.name para calcular o preço médio utilizando a função AVG().

Se isso parecer complexo, veja uma sintaxe simples para usar o JOIN:

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Note
Nota

Ao contrário da cláusula UNION, a instrução JOIN permite combinar tabelas inteiras, não apenas as colunas que elas compartilham. Observe que UNION não exige subconsultas por padrão — subconsultas só são necessárias se você quiser filtrar ou agrupar o conjunto de resultados combinado. Em muitos casos, é possível usar UNION diretamente entre duas instruções SELECT sem subconsultas.

Tarefa

Deslize para começar a programar

É necessário unir as duas tabelas: category e product. As colunas em comum entre essas tabelas são product.category_id e category.id.

O objetivo é encontrar o valor total de produtos em cada categoria. Para isso, deve-se calcular a soma da coluna product.amount.

Utilize o alias total_amount para essa coluna. Ao final da consulta, ordene o resultado pela coluna total_amount em ordem crescente.

Na resposta, devem aparecer 2 colunas: category.name e total.amount.

Instruções Resumidas

  • Recuperar a coluna category.name e a soma da coluna product.amount da tabela product.
  • Atribuir o alias total_amount à segunda coluna.
  • Unir a tabela category utilizando a cláusula JOIN.
  • Relacionar as tabelas pela coluna em comum product.category_id = category.id.
  • Agrupar os resultados por category.name.
  • Ordenar os resultados por total_amount.

Solução

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

some-alt