A função da subquery é retornar um conjunto de linhas para a...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: A - não pode ser utilizado em uma consulta que contenha uma subquery que retorne múltiplas linhas.
Para entender o motivo pelo qual a alternativa A está correta, é importante compreender o funcionamento das subqueries e a natureza do operador de comparação "=" em SQL. Uma subquery é uma consulta aninhada dentro de outra consulta, e ela pode retornar um único valor ou múltiplos valores dependendo de como é escrita.
O operador "=" é usado para testar a igualdade entre dois valores. Em uma consulta SQL, quando usamos o operador "=", esperamos que cada lado dessa comparação seja um valor singular. Porém, se o lado direito da comparação (a subquery) retornar mais de uma linha, não podemos fazer uma comparação de igualdade diretamente, pois estaríamos tentando comparar um único valor com um conjunto de valores, o que não faz sentido e resulta em um erro.
Quando esperamos que uma subquery retorne múltiplos valores, devemos usar operadores como "IN", "ANY", "ALL", ou até mesmo "EXISTS", que são projetados para lidar com conjuntos de valores e não com valores únicos. Portanto, a afirmativa correta é que o operador "=" não pode ser utilizado com subqueries que retornam múltiplas linhas, pois não seria uma comparação válida.
Com relação às demais alternativas, elas introduzem conceitos que não são necessariamente relacionados ao uso do operador "=" com subqueries:
- A B sugere a necessidade de parênteses, mas o operador "=" pode ser usado sem parênteses quando comparado a um único valor, embora subqueries estejam geralmente entre parênteses. - A C sugere uma posição fixa para a subquery, o que não é verdade, pois ela pode aparecer em qualquer lado da comparação. - A D e E associam o uso do operador "=" a cláusulas específicas ("GROUP BY" e "WHERE", respectivamente), o que é incorreto, pois o operador "=" pode ser usado em diferentes contextos dentro de uma consulta SQL.
Assim, a alternativa A é a única que reflete corretamente a limitação do operador "=" em relação às subqueries que retornam múltiplas linhas.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Exemplo: Select código, nome
From cliente
Where cidade IN (Select código From cidade where nome<> 'João Pessoa').
Simples. Subquery não pode retornar mútiplos valores. Subquery deve retornar no máximo uma row.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo