Comandos SQL de Consulta
Gabarito: letra D. Apenas os itens III e IV estão corretos. O item I está incorreto porque subqueries de múltiplas colunas podem retornar várias colunas e várias linhas, não apenas uma única linha. O item II está incorreto porque a função UNION combina resultados de consultas, enquanto quem retorna linhas comuns entre tabelas é o INTERSECT. Já os itens III e IV descrevem corretamente os comportamentos de EXISTS e EXTRACT.
A banca cobra o conhecimento de comandos específicos do SQL para consultas, testando a distinção entre UNION e INTERSECT, o funcionamento de subqueries e as funções EXISTS e EXTRACT.
Item I — ❌ Incorreto
A afirmação diz que subqueries de múltiplas colunas retornam várias colunas em uma mesma linha. Isso é impreciso: subqueries de múltiplas colunas podem retornar várias linhas com várias colunas cada, não apenas uma única linha. O correto é que elas retornam um conjunto de linhas e colunas. Portanto, o item está errado.
Item II — ❌ Incorreto
Aqui a banca troca o operador correto: a função UNION combina os resultados de duas ou mais consultas, eliminando duplicatas, mas não apresenta linhas que existam simultaneamente nas tabelas. Quem faz isso é o operador INTERSECT, que retorna apenas as linhas comuns às consultas. Logo, o item está incorreto.
Item III — ✅ Correto
O predicado EXISTS é utilizado em subqueries e retorna verdadeiro (TRUE) se a subquery produzir ao menos uma linha. Assim, a consulta externa só é executada se a subquery retornar uma ou mais linhas. A descrição está perfeita.
Item IV — ✅ Correto
A função EXTRACT (ou DATEPART, dependendo do SGBD) é usada para extrair partes específicas de um campo do tipo data, como dia, mês, ano, hora, minuto ou segundo. A afirmação está correta.
Conclusão: Apenas os itens III e IV estão corretos. Portanto, a alternativa que corresponde a essa combinação é a letra D ("Estão certos apenas os itens III e IV").