SóProvas


ID
1770628
Banca
FGV
Órgão
PGE-RO
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Sabe-se que as tabelas T1 e T2 têm, cada uma:

1.000 registros;

5 colunas;

uma coluna intitulada “A" totalmente preenchida com valores nulos.

Pode-se concluir que o comando SQL

select *

from T1 x left join T2 y on x.A=y.A

produz um resultado que contém: 


Alternativas
Comentários
  • 10 colunas serão apresentadas, mas o retorno da consulta somente apresentará os registros de t1 (lado left do join).

    em síntese

    4 colunas de t1 preenchidas

    as 2 colunas null (1 de t1 e 1 de t2)

    as 4 colunas de t2 em branco (pois t2 está do lado direito de join)

  • Não concordo que esta questão esteja correta. Os registros de T1 seriam multiplicados pelo número de coluna de T2, logo teríamos 1000 x 1000 registros com as 10 colunas. Se algum poder explicar eu agradeço. Obs.: fiz o teste no mysql.

     

  • O left ou right outer join fixa as colunas de uma tabela e coloca o valor correspondente ao join (quando houver) ou null (quando não houver correspondência). Neste caso, T1 tem 1000 registros, logo, o resultado terá 1000 linhas. Como ele colocou select *, serão apresentadas todas as colunas de T1 e T2, logo 10 colunas.

    Apesar de implementarem ANSI, alguns SGBDs apresentam resultados diferentes de outros. Já testei algumas queries no MySql que tiveram resultados diferentes do que eu esperava. Neste caso, temos que usar a teoria, pois não foi especificado nenhum banco. Logo, temos que usar os conceitos ANSI.

  • para aprender left join :

    http://www.w3schools.com/sql/sql_join_left.asp