SóProvas


ID
222304
Banca
FGV
Órgão
BADESC
Ano
2010
Provas
Disciplina
Banco de Dados
Assuntos

Analise a consulta que envolve uma subconsulta apresentada a seguir.

SELECT Atrib FROM Tabela1
WHERE Atrib2 > ANY (SELECT Atrib2 from Tabela2);

Suponha que os valores que podem retornar no atributo da subconsulta Atrib2, são os valores 1, 2 e 3.
A consulta externa deve retornar no atributo Atrib os seguintes valores:

I. valores > 1
II. valores > 3
III. valores > 2

Assinale:

Alternativas
Comentários
  • O operador ANY da questão faz a comparação com cada valor da subquery.
    No conjunto (1,2,3), 1 é o valor mínimo ou o menor valor no qual o operador "ANY" deve iniciar a comparação. Ou seja, os valores aceitos tem que ser maiores do 1 mas não iguais a 1. 
  • Eu marquei letra e) pelo seguinte raciocínio: todo valor maior que 2 e maior que 3 será maior que 1, portanto todas as alternativas estão corretas, já que todos os valore maiores que 2 e maiores que 3 seriam selecionados.

    Caso tivesse feito o concurso, entraria com recurso.

  • SELECT Atrib FROM Tabela1       #Retornará todos os valores de Atrib da Tabela1...
    WHERE Atrib2 > ANY                     #Onde Atrib2 for maior que 'qualquer'...
    (SELECT Atrib2 from Tabela2);    #valor retornado por Atrib2 da Tabela2, isto é, 1, 2, ou 3.
    Sendo assim, o único valor de Atrib2 q não pode ser maior q os outros eh o 1. Ou seja, a consulta externa deve retornar valores > 1.

  • Faço coro ao comentário do colega Jideão Vieira.
    Também marquei letra E. Não faz sentido algum ter uma opção de marcar SE TODOS ESTIVEREM CORRETOS se não quisessem este raciocínio.
    Eu chegaria a dizer que CERTAMENTE a banca alteraria o gabarito, caso alguém tivesse entrado com recurso.
  • O raciocínio não é esse. Vejamos que os registros que PODEM nos retornar, é 1 , 2 e 3. Com isso, o item "I", atende. Pois se é maior que 1, então os dados 2 e 3 enquadram. Já o comando ANY, faz com que funcione o maior igual.

    Letra A
  • O grande problema desta questão é que não sabemos o conteúdo da coluna atrib da tabela 1.
    Nada impede que esta coluna seja uma DATA por exemplo.
    Desta forma a questão está mal formulada...
  • Como o  MiniCRACK disse não sabemos o que está preenchido no Atrib, sabemos somente o valor de Atrib2. Sabemos o que vai acontecer na comparação e não o valor de Atrib que pode ser qualquer um.
  • Não faz sentido o comentário do roger,

    pois o atrib2 pode ser 1, e 1 não é maior que 1

  • Temos as tabelas:
    Tabela1 -> com os atributos: Atrib e Atrib2
    Tabela 2-> com o atributo Atrib2.

    A consulta retorna o valor de Atrib da Tabela1 onde o valor de Atrib2 da Tabela1 > qualquer (1,2 ou 3).
    Pelas informações da questão, Atrib é totalmente independente de Atrib2.
    Atrib,na minha opinião, pode até ser um varchar.... um date.... qualquer coisa.
    E na questão ele pede o que seria retornado na consulta, qual seria o valor de Atrib? não podemos concluir nada.
    Se fosse perguntado sobre os valores que Atrib2 da Tabela1, ai faria sentido.

    Eu entendi dessa forma, se alguém puder esclarecer.


  • Também não entendi essa.. Pra mim teria que ser anulada..

    Atrib pode ser qualquer valor, até nem ser um numero..