-
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