ANC - Analista em Computação - Ênfase em Ciências de Dados
Sobre subconsultas não relacionadas em SQL, é correto afirmar que:
AA consulta principal (externa) é executada antes da subconsulta (interna).
BA subconsulta pode ser incluída nas Instruções WHERE, HAVING e FROM.
CSubconsulta de várias linhas retornam mais de uma coluna da instrução SELECT interna.
DA condição de uma subconsulta envolve uma operação de igualdade entre uma coluna e o resultado que será retornado pela subconsulta.
ESubconsulta de várias colunas retornam mais de uma linha da instrução SELECT interna.
Revelar gabarito e comentário▾
GabaritoB — A subconsulta pode ser incluída nas Instruções WHERE, HAVING e FROM.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Subconsultas não relacionadas em SQL
Gabarito: letra B. A afirmação correta é que uma subconsulta não relacionada pode ser utilizada nas cláusulas WHERE, HAVING e FROM, sendo que em FROM ela atua como uma tabela derivada. As demais alternativas contêm erros comuns sobre a execução e o tipo de retorno da subconsulta.
A banca testa o conhecimento sobre a sintaxe e o comportamento das subconsultas independentes (não correlacionadas). A principal característica é que a subconsulta é executada primeiro, e seu resultado é usado pela consulta externa.
Alternativa A — ❌ Incorreta
Afirma que a consulta principal é executada antes da subconsulta. Na verdade, em subconsultas não relacionadas, a execução começa pela subconsulta (interna) e seu resultado é passado para a consulta externa. A ordem é inversa: a subconsulta é avaliada primeiro.
Alternativa B — ✅ Correta ⟵ GABARITO
Subconsultas não relacionadas podem ser inseridas nas cláusulas WHERE, HAVING e FROM. Em WHERE, são comuns com operadores como IN, EXISTS, comparações. Em HAVING, filtram grupos após agregação. Em FROM, a subconsulta funciona como uma tabela temporária (derived table). Essa é a afirmação correta e abrangente.
Alternativa C — ❌ Incorreta
"Subconsulta de várias linhas retornam mais de uma coluna" é uma confusão. Uma subconsulta de várias linhas (multirow) retorna múltiplas linhas, mas normalmente apenas uma coluna (a menos que seja uma subconsulta de linha que retorne várias colunas em uma única linha). A alternativa troca o conceito: o que define "várias linhas" é a quantidade de linhas, não de colunas. Subconsultas que retornam várias colunas são chamadas de subconsultas de várias colunas, e podem retornar uma ou mais linhas.
Alternativa D — ❌ Incorreta
A condição de uma subconsulta não se restringe a operação de igualdade. Podem ser usados operadores como IN, NOT IN, EXISTS, NOT EXISTS, além de comparações (<, >, <=, >=, <>). A igualdade é apenas um dos casos possíveis. A afirmação é muito restritiva.
Alternativa E — ❌ Incorreta
"Subconsulta de várias colunas retornam mais de uma linha" é o inverso do erro anterior. Uma subconsulta de várias colunas retorna múltiplas colunas, mas não necessariamente múltiplas linhas. Pode retornar uma única linha (ex.: subconsulta escalar ou de linha). O número de linhas depende da consulta; não é uma garantia.
PEGA ESSA DICA!
Para fixar, lembre-se da execução: subconsulta não correlacionada executa primeiro, uma vez, e seu resultado é usado pela externa. As cláusulas possíveis são WHERE, HAVING, FROM. Os tipos de retorno (várias linhas vs várias colunas) são independentes: uma subconsulta pode retornar uma linha e uma coluna (escalar), várias linhas e uma coluna, uma linha e várias colunas, ou várias linhas e várias colunas. Cuidado com as trocas de conceito!