Questão de Banco de Dados — SQL — FCC 2015
- Código
- fc023801
- Banca
- FCC
- Órgão
- TRE-RR
- Ano
- 2015
- Nível
- Superior
- Cargo
- Analista Judiciário - Análise de Sistemas
- AINNER JOIN Pedidos
- BLEFT JOIN
- CRIGHT OUTER JOIN
- DFULL OUTER JOIN
- ELEFT OUTER JOIN
GabaritoA — INNER JOIN Pedidos
Gabarito: letra A. A descrição fornecida indica que apenas as linhas com correspondência entre as duas tabelas (Clientes e Pedidos) são retornadas, e que clientes sem pedidos não aparecem. Esse comportamento é exatamente o do INNER JOIN, que retorna apenas os registros que possuem valores correspondentes em ambas as tabelas.
A banca testa o conhecimento sobre os diferentes tipos de JOIN em SQL e suas características. O texto do enunciado descreve o resultado de um INNER JOIN de forma explícita.
O INNER JOIN (ou simplesmente JOIN) retorna somente as linhas onde há correspondência entre as colunas especificadas. Na consulta, a condição ON Clientes.ClienteID = Pedidos.ClienteID garante que apenas clientes que possuem pedidos sejam listados, exatamente como descrito.
LEFT JOIN (ou LEFT OUTER JOIN) retorna todas as linhas da tabela à esquerda (Clientes) e as correspondentes da direita (Pedidos). Se um cliente não tiver pedido, ele ainda apareceria, com valores NULL para as colunas de Pedidos. Isso contradiz o enunciado, que afirma que clientes sem pedidos "não serão listados".
RIGHT OUTER JOIN retorna todas as linhas da tabela à direita (Pedidos) e as correspondentes da esquerda. Isso incluiria todos os pedidos, mesmo aqueles sem cliente correspondente (o que não faz sentido no modelo), mas o enunciado foca em clientes sem pedidos não aparecerem. Além disso, RIGHT JOIN não é mencionado no padrão da consulta.
FULL OUTER JOIN retorna todas as linhas de ambas as tabelas, preenchendo com NULL onde não houver correspondência. Isso listaria clientes sem pedidos (com NULL nas colunas de Pedidos), o que contraria a descrição.
LEFT OUTER JOIN é sinônimo de LEFT JOIN (alternativa B). Também incluiria clientes sem pedidos, contrariando o enunciado.
A banca pode confundir o candidato com a descrição "seleciona todas as linhas de ambas as tabelas, desde que haja uma correspondência". A palavra "ambas" pode sugerir um FULL OUTER JOIN, mas a restrição "desde que haja correspondência" e a frase final sobre clientes sem pedidos não serem listados eliminam essa possibilidade. Fique atento: INNER JOIN é a única que atende exatamente ao descrito.
Gabarito: letra A.
Link permanente: /questoes/fc023801