A função da subquery é retornar um conjunto de linhas para a...

Próximas questões
Com base no mesmo assunto
Ano: 2010 Banca: FCC Órgão: SERGAS Prova: FCC - 2010 - SERGAS - Analista de Sistemas |
Q40242 Banco de Dados
A função da subquery é retornar um conjunto de linhas para a query ou comando principal. Nesse sentido, é correto afirmar que o operador "="
Alternativas

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

Uma subquery de valor múltiplo retorna uma lista de valores e pode ser usada APENAS em um where, usando a cláusula IN ou NOT IN.
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