SóProvas


ID
720598
Banca
ESAF
Órgão
CGU
Ano
2008
Provas
Disciplina
Banco de Dados
Assuntos

Considere as seguintes consultas envolvendo dados de duas tabelas (T1 e T2) que possuem o atributo CODIGO em comum e assinale a opção correta.

Consulta 1 ,
SELECT * FROM T1
WHERE CODIGO IN (SELECT CODIGO FROM T2)

Consulta 2
SELECT * FROM T1 WHERE NOT
EXISTS (SELECT CODIGO FROM T2 WHERE
T1.CODIGO = T2.CODIGO )

Consulta 3
SELECT T1.* , T2.*
FROM T1 INNER JOIN T2
ON T1.CODIGO = T2.CODIGO

Consulta 4
SELECT *
FROM T1 WHERE CODIGO NOT IN (SELECT CODIGO FROM T2)

Consulta 5
SELECT T1.*
FROM T1 LEFT OUTER JOIN T2
ON T1.CODIGO = T2.CODIGO
WHERE T2.CODIGO IS NULL

Consulta 6
SELECT T1.* , T2.*
FROM T1 , T2
WHERE T1.CODIGO = T2.CODIGO

Alternativas
Comentários
  • O Garabito da questão está erradp. Hoje está indicando como sendo "A" a alternativa correta, contudo a alternativa correta é a letra "C"

    a) ERRADA, Basta olhar para a saída da query3 e notar que o SELECT retorna os campos de t1 e t2 e a query4 retorna apenas t1
    b) ERRADA, Basta olhar para a saída da query2 e notar que o SELECT retorna apenas o campo t1 e a query6 retorna os campos de t1 e t2
    c) CORRETA
    d) ERRADA, Basta olhar para a saída da query5 e notar que o SELECT retorna apenas o campo t1 e a query6 retorna os campos de t1 e t2
    e) ERRADA, A query1 retorna o que existe em t1 com correspondência em t2 (considerando pelo CODIGO) já a query5 retorna o que existe em t1 sem correspondência em t2 ("where t2.codigo is null") (em outras palavras... em que a correspondência seja nula)
  • Concordo plenamente, está errado. É a letra C