Junçã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. Usaremos uma instrução JOIN
para isso.
Antes de começar a tarefa, vamos entender o que é uma instrução JOIN
e como ela funciona.
Para unir duas tabelas, elas precisam compartilhar uma coluna em comum. Veja como o JOIN
funciona utilizando as tabelas employees
e department
. A coluna em comum é employees.department
e departments.name
.
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 entende exatamente a qual tabela e coluna você está se referindo.
Segue 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:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Vamos analisar como utilizamos o JOIN
em nossa consulta:
- Na parte
SELECT
, listamos as colunas desejadas de ambas as tabelas, incluindo o nome da tabela para maior clareza; - Na parte
JOIN
, especificamos a tabela a ser unida e a coluna em comum que as conecta. Neste caso, sãoemployees.department
edepartment.name
; - Em seguida, agrupamos os dados por
type
para calcular o salário total utilizando a funçãoSUM()
.
Se isso parecer complexo, aqui está uma sintaxe simples para utilizar o JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Nota
Ao contrário da cláusula
UNION
, a instruçãoJOIN
permite combinar tabelas inteiras, não apenas as colunas que compartilham. Além disso, com oJOIN
, não há necessidade de subconsultas como ocorre com oUNION
.
Swipe to start coding
Você precisa unir as duas tabelas: category
e product
. As colunas em comum entre essas duas tabelas são product.category_id
e category.id
.
Sua tarefa é encontrar o valor total de produtos em cada categoria. Para isso, é necessário calcular a soma da coluna product.amount
.
Utilize o alias total_amount
para essa coluna.
Ao final da sua 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 colunaproduct.amount
da tabelaproduct
. - Atribua o alias
total_amount
à segunda coluna. - Una a tabela
category
utilizando uma instruçãoJOIN
. - 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
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
What are the different types of JOINs in SQL?
Can you explain how to join the product and category tables using SQL?
How do I count the number of products in each category using a JOIN?
Awesome!
Completion rate improved to 4
Junçã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. Usaremos uma instrução JOIN
para isso.
Antes de começar a tarefa, vamos entender o que é uma instrução JOIN
e como ela funciona.
Para unir duas tabelas, elas precisam compartilhar uma coluna em comum. Veja como o JOIN
funciona utilizando as tabelas employees
e department
. A coluna em comum é employees.department
e departments.name
.
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 entende exatamente a qual tabela e coluna você está se referindo.
Segue 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:
1234SELECT department.type, SUM(employees.salary) AS total_salary FROM employees JOIN department ON employees.department = department.name GROUP BY department.type
Vamos analisar como utilizamos o JOIN
em nossa consulta:
- Na parte
SELECT
, listamos as colunas desejadas de ambas as tabelas, incluindo o nome da tabela para maior clareza; - Na parte
JOIN
, especificamos a tabela a ser unida e a coluna em comum que as conecta. Neste caso, sãoemployees.department
edepartment.name
; - Em seguida, agrupamos os dados por
type
para calcular o salário total utilizando a funçãoSUM()
.
Se isso parecer complexo, aqui está uma sintaxe simples para utilizar o JOIN
:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Nota
Ao contrário da cláusula
UNION
, a instruçãoJOIN
permite combinar tabelas inteiras, não apenas as colunas que compartilham. Além disso, com oJOIN
, não há necessidade de subconsultas como ocorre com oUNION
.
Swipe to start coding
Você precisa unir as duas tabelas: category
e product
. As colunas em comum entre essas duas tabelas são product.category_id
e category.id
.
Sua tarefa é encontrar o valor total de produtos em cada categoria. Para isso, é necessário calcular a soma da coluna product.amount
.
Utilize o alias total_amount
para essa coluna.
Ao final da sua 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 colunaproduct.amount
da tabelaproduct
. - Atribua o alias
total_amount
à segunda coluna. - Una a tabela
category
utilizando uma instruçãoJOIN
. - 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
Obrigado pelo seu feedback!
Awesome!
Completion rate improved to 4single