Questão FC372856
Considere as duas tabelas Tab1 e Tab2 de um banco de dados PostgreSQL 9 aberto e funcionando em condições ideais. Tab1: cod | tipo 1 | Guarda 2 | Tutela 3 | Adoção Tab2: cod | idad
Linguagem SQL
FCC · 2018
Considere as duas tabelas Tab1 e Tab2 de um banco de dados PostgreSQL 9 aberto e funcionando em condições ideais.
Tab1:
cod | tipo
1 | Guarda
2 | Tutela
3 | Adoção
Tab2:
cod | idadedomenor
1 | 5
3 | 2
5 | 7
Um Técnico Programador fez uma consulta que resultou em:
cod | tipo | idadedomenor
1 | Guarda | 5
3 | Adoção | 2
O comando utilizado pelo Técnico que produziu o resultado apresentado foi
- SELECT ∗ FROM Tab1 INNER JOIN Tab2 USING (cod);
- SELECT ∗ FROM Tab1 IN JOIN Tab2 ON Tab1.cod = Tab2.cod;
- SELECT ∗ FROM Tab1 RIGHT JOIN Tab2 IN Tab1.cod = Tab2.cod;
- SELECT ∗ FROM Tab1 FULL JOIN Tab2 IN Tab1.cod = Tab2.cod;
- SELECT ∗ FROM Tab1 CROSS JOIN Tab2;
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
O comando SELECT * FROM Tab1 INNER JOIN Tab2 USING (cod); realiza uma junção do tipo INNER JOIN, isto é, retorna apenas as linhas que existem em ambas as tabelas — a interseção Tab1 \( \cap \) Tab2.
O qualificador USING (cod) indica a coluna comum usada na junção. Para funcionar, a coluna cod deve existir em ambas as tabelas; o resultado terá essa coluna uma única vez (não haverá duplicação de cod como Tab1.cod e Tab2.cod).
No exemplo, somente os códigos 1 e 3 existem nas duas tabelas, por isso são retornados com suas respectivas colunas tipo e idadedomenor, na ordem apresentada: cod, tipo, idadedomenor. Equivale semanticamente a usar ON Tab1.cod = Tab2.cod, porém a sintaxe USING simplifica o resultado evitando colunas repetidas.
Conteúdo do catálogo FC Concursos · Atualizado em