Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Junção de 2 Tabelas | Junção de Tabelas
SQL Intermediário

bookJunção de 2 Tabelas

Conquistamos 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:

Nossa primeira tarefa é unir essas duas tabelas para descobrir quantos produtos existem em cada categoria. Utilizaremos 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. 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. Veja como o JOIN funciona usando as tabelas employees e department. A coluna em comum é employees.department e departments.name.

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. Assim, o SQL sabe exatamente a qual tabela e coluna você está se referindo.

Aqui está a tarefa de obter o salário total dos funcionários em cada tipo de departamento (tech/non-tech).

A consulta para realizar essa tarefa será assim:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Vamos analisar 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 e a coluna em comum que as conecta. Neste caso, employees.department e department.name;
  3. Em seguida, agrupamos os dados por type para calcular o salário total usando a função SUM().

Se isso parecer complexo, aqui está 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

Diferente da cláusula UNION, a instrução JOIN permite combinar tabelas inteiras, não apenas as colunas que elas compartilham. Além disso, com JOIN, não há necessidade de subconsultas como ocorre com UNION.

Tarefa

Swipe to start coding

É 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, é preciso 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

  • Recupere a coluna category.name e a soma da coluna product.amount da tabela product.
  • Atribua o alias total_amount à segunda coluna.
  • Una a tabela category utilizando a cláusula JOIN.
  • Relacione as tabelas pela coluna em comum product.category_id = category.id.
  • Agrupe os resultados por category.name.
  • Ordene os resultados por total_amount.

Solução

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

close

bookJunção de 2 Tabelas

Deslize para mostrar o menu

Conquistamos 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:

Nossa primeira tarefa é unir essas duas tabelas para descobrir quantos produtos existem em cada categoria. Utilizaremos 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. 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. Veja como o JOIN funciona usando as tabelas employees e department. A coluna em comum é employees.department e departments.name.

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. Assim, o SQL sabe exatamente a qual tabela e coluna você está se referindo.

Aqui está a tarefa de obter o salário total dos funcionários em cada tipo de departamento (tech/non-tech).

A consulta para realizar essa tarefa será assim:

1234
SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
copy

Vamos analisar 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 e a coluna em comum que as conecta. Neste caso, employees.department e department.name;
  3. Em seguida, agrupamos os dados por type para calcular o salário total usando a função SUM().

Se isso parecer complexo, aqui está 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

Diferente da cláusula UNION, a instrução JOIN permite combinar tabelas inteiras, não apenas as colunas que elas compartilham. Além disso, com JOIN, não há necessidade de subconsultas como ocorre com UNION.

Tarefa

Swipe to start coding

É 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, é preciso 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

  • Recupere a coluna category.name e a soma da coluna product.amount da tabela product.
  • Atribua o alias total_amount à segunda coluna.
  • Una a tabela category utilizando a cláusula JOIN.
  • Relacione as tabelas pela coluna em comum product.category_id = category.id.
  • Agrupe os resultados por category.name.
  • Ordene 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

some-alt