Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
UNIR 2 Tabelas | Juntando Tabelas
SQL Intermediário
course content

Conteúdo do Curso

SQL Intermediário

SQL Intermediário

1. Agrupamento
2. Subconsultas Aninhadas
3. Juntando Tabelas
4. DDL e DML em SQL

book
UNIR 2 Tabelas

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

Eis como é a product tabela:

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

Eis como se apresenta a tabela category:

Vamos trabalhar com estas duas tabelas.

Temos a primeira tarefa: juntar estas 2 tabelas e ver a quantidade de produtos em cada categoria. Para isso, vamos utilizar uma declaração JOIN.

Vamos fazer uma pausa da tarefa principal e entender o que é uma declaração JOIN e como utilizá-la.

Para juntar 2 tabelas, elas devem ter uma coluna em comum entre si. Vamos considerar o uso de JOIN usando o exemplo das tabelas employees e department. Lembrarei que a coluna em comum deles é employees.department e departments.name.

Nota

Perceba como escrevi as colunas dessas tabelas. Primeiro, escrevo o nome da tabela, depois coloco um ponto e o nome da coluna. Quando usamos mais de uma tabela em uma consulta, precisamos especificar a tabela da qual estamos tirando a coluna para tornar o código legível. Além disso, no caso em que tabelas têm colunas com o mesmo nome, precisamos que o SQL entenda a qual tabela e coluna estamos nos referindo.

Vamos nos propor a tarefa de recuperar o salário total dos funcionários em cada tipo de departamento (tech/não-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 entender passo a passo o que fizemos e como usamos JOIN:

  1. Na seção SELECT, especificamos as colunas que precisamos recuperar de duas tabelas, indicando o nome da tabela a que a coluna pertence;
  2. Na seção JOIN, especificamos a tabela que queremos unir, seguida pela especificação da coluna comum. No nosso caso, é employees.department e department.name;
  3. Em seguida, agregamos os dados por type (já que temos uma função de agregação SUM() na seção SELECT para encontrar o salário total) e obtemos o resultado que nos interessa.

A consulta pode parecer complexa, então vamos olhar para a sintaxe geral para usar JOIN:

Dessa forma, podemos unir tabelas e obter o resultado desejado, mesmo que as informações estejam espalhadas por várias tabelas.

Nota

Ao contrário da cláusula UNION, a instrução JOIN nos permite combinar completamente as tabelas, não apenas as colunas comuns entre elas. Também é importante observar que, ao usar a instrução JOIN, não precisamos usar subconsultas com cláusulas, como fazemos com a cláusula UNION.

Agora, vamos voltar à tarefa que temos em mãos e reforçar nosso conhecimento com prática:

Tarefa
test

Swipe to show code editor

Sua tarefa é juntar as duas tabelas: category e product. As colunas comuns para essas duas tabelas são product.category_id e category.id. Sua tarefa é encontrar a quantidade total de produtos em cada categoria. Para isso, você precisa calcular a soma da coluna product.amount. Use o alias total_amount para esta coluna! No final da sua consulta, ordene o resultado pela coluna total_amount em ordem ascendente.

Na resposta, você deve ter 2 colunas: category.name e total.amount.

Boa sorte!

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
toggle bottom row

book
UNIR 2 Tabelas

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

Eis como é a product tabela:

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

Eis como se apresenta a tabela category:

Vamos trabalhar com estas duas tabelas.

Temos a primeira tarefa: juntar estas 2 tabelas e ver a quantidade de produtos em cada categoria. Para isso, vamos utilizar uma declaração JOIN.

Vamos fazer uma pausa da tarefa principal e entender o que é uma declaração JOIN e como utilizá-la.

Para juntar 2 tabelas, elas devem ter uma coluna em comum entre si. Vamos considerar o uso de JOIN usando o exemplo das tabelas employees e department. Lembrarei que a coluna em comum deles é employees.department e departments.name.

Nota

Perceba como escrevi as colunas dessas tabelas. Primeiro, escrevo o nome da tabela, depois coloco um ponto e o nome da coluna. Quando usamos mais de uma tabela em uma consulta, precisamos especificar a tabela da qual estamos tirando a coluna para tornar o código legível. Além disso, no caso em que tabelas têm colunas com o mesmo nome, precisamos que o SQL entenda a qual tabela e coluna estamos nos referindo.

Vamos nos propor a tarefa de recuperar o salário total dos funcionários em cada tipo de departamento (tech/não-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 entender passo a passo o que fizemos e como usamos JOIN:

  1. Na seção SELECT, especificamos as colunas que precisamos recuperar de duas tabelas, indicando o nome da tabela a que a coluna pertence;
  2. Na seção JOIN, especificamos a tabela que queremos unir, seguida pela especificação da coluna comum. No nosso caso, é employees.department e department.name;
  3. Em seguida, agregamos os dados por type (já que temos uma função de agregação SUM() na seção SELECT para encontrar o salário total) e obtemos o resultado que nos interessa.

A consulta pode parecer complexa, então vamos olhar para a sintaxe geral para usar JOIN:

Dessa forma, podemos unir tabelas e obter o resultado desejado, mesmo que as informações estejam espalhadas por várias tabelas.

Nota

Ao contrário da cláusula UNION, a instrução JOIN nos permite combinar completamente as tabelas, não apenas as colunas comuns entre elas. Também é importante observar que, ao usar a instrução JOIN, não precisamos usar subconsultas com cláusulas, como fazemos com a cláusula UNION.

Agora, vamos voltar à tarefa que temos em mãos e reforçar nosso conhecimento com prática:

Tarefa
test

Swipe to show code editor

Sua tarefa é juntar as duas tabelas: category e product. As colunas comuns para essas duas tabelas são product.category_id e category.id. Sua tarefa é encontrar a quantidade total de produtos em cada categoria. Para isso, você precisa calcular a soma da coluna product.amount. Use o alias total_amount para esta coluna! No final da sua consulta, ordene o resultado pela coluna total_amount em ordem ascendente.

Na resposta, você deve ter 2 colunas: category.name e total.amount.

Boa sorte!

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
Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
We're sorry to hear that something went wrong. What happened?
some-alt