single
Junção de 2 Tabelas
Deslize para mostrar o menu
Chamamos 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.
A segunda tabela contém as categorias de produtos no site, juntamente com uma breve descrição para cada categoria.
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.
Para unir duas tabelas, elas precisam compartilhar uma coluna em comum. Vamos ver como o JOIN funciona usando as tabelas employees e department. A coluna em comum é employees.department e departments.name.
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. Isso informa ao SQL exatamente de qual tabela e coluna você está se referindo.
Aqui está a tarefa de recuperar 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, listam-se as colunas desejadas de ambas as tabelas, incluindo o nome da tabela para maior clareza; - Na parte
JOIN, especifica-se a tabela a ser unida e a coluna comum que as conecta. Neste caso, sãoemployees.departmentedepartment.name; - Em seguida, os dados são agrupados por
typepara calcular o salário total utilizando a funçãoSUM().
Se isso parecer complexo, segue uma sintaxe simples para utilizar o JOIN:
SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.common_column = table2.common_column
Ao contrário 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.
Deslize para começar a programar
Você precisa juntar 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.namee a soma da colunaproduct.amountda tabelaproduct. - Atribua o alias
total_amountà segunda coluna. - Una a tabela
categoryutilizando 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