-
As palavras INNER e OUTER (full outer join) são opcionais, uma vez que os nomes dos demais tipos de junções nos permitem deduzir se se trata de uma junção interna ou externa. (Silberchatz pg 135)
-
Certo. FULL OUTER JOIN retorna todas as correspondencias pois mescla LEFT e RIGHT joins. Desta forma mesmo os registros que não tenham correspondência entre os campos "C3" seriam apresentados. Lembrando que não foi executado um INNER JOIN pois esse sim apresentaria so os correspondentes a C3.
http://www.w3schools.com/sql/sql_join_full.asp
-
DEFINIÇÃO:
FULL JOIN – Todas as linhas de dados da tabela à esquerda de JOIN e da tabela à direita serão retornadas pela cláusula FULL JOIN ou FULL OUTER JOIN. Caso uma linha de dados não esteja associada a qualquer linha da outra tabela, os valores das colunas a lista de seleção serão nulos. Caso contrário, os valores obtidos serão baseados nas tabelas usadas como referência.
RESPOSTA:
questão certa, percebam que o select chama tab1.c1, tab1.c2, tab2.c3, porém na cláusula "ON" tab1.c3 = tab2.c3, logo somente retornará linhas que satisfaça.
Leia mais em: Cláusulas FULL JOIN, CROSS JOIN, UPDATE e DELETE - Associação de Tabelas: SQL Server 2008 - Parte 3 http://www.devmedia.com.br/clausulas-full-join-cross-join-update-e-delete-associacao-de-tabelas-sql-server-2008-parte-3/18931#ixzz3CMciIdAk
http://www.devmedia.com.br/clausulas-full-join-cross-join-update-e-delete-associacao-de-tabelas-sql-server-2008-parte-3/18931
-
Mais uma vez faltou especificar qual o SGBD a ser considerado, pois muda a sintaxe SQL a cada tipo de SGBD
-
Renato, quando a banca não especifica o banco, deve-se considerar ANSI SQL, ou seja, o sql padrão.
-
Como ela retorna todas as linhas da tabela Tab1 e da tabela Tab2 se existe um campo " Tab 1 . C 3 " que não está no SELECT?
Pra mim a questão está errada.
-
Como ela retorna todas as linhas da tabela Tab1 e da tabela Tab2 se existe um campo " Tab 1 . C 3 " que não está no SELECT?
Pra mim a questão está errada.