-
Alguém sabe onde está o erro na questão? No site do CESPE ainda não saiu o gabarito oficial.
-
Em todas as literaturas a descrição que encontrei sobre o FULL OUTER JOIN o define como uma cláusula que retorna todas as linhas de ambas as tabelas, inclusive as linhas que satisfaçam a expressão do join. Portanto, acredito que o erro esteja em dizer que são incluídas todas as linhas "que satisfaçam a expressão tanto da primeira, quanto da segunda tabela".
-
Também cai nessa...
mas analisando melhor me parece que o trecho "que satisfaçam a expressão tanto da primeira, quanto da segunda tabela
" está mais para o INNER JOIN
The INNER JOIN keyword selects all rows from both tables as long as there is
a match between the columns in both tables.
The FULL OUTER JOIN keyword combines the result of both LEFT and RIGHT joins.
fonte: W3school http://www.w3schools.com/sql/sql_join_full.asp
-
INNER JOIN é uma junção de duas ou mais tabelas que retorna somente as tuplas que satisfazem à condição de junção. (INTERSEÇÃO)
FULL OUTER JOIN retorna todas as tuplas, independente de correspondência. (UNIÃO)
-
Ele retorna todas as tuplas, então não está errado afirmar que a consulta retorna todas as tuplas que correspondem as duas tabelas. Acredito que estaria errado se afirmasse "somente" as tuplas que correspondem.
-
Também caí na pegadinha por não ter feito uma leitura mais cuidadosa.
Pessoal, creio que o erro está justamente na afirmação "satisfaçam a expressão tanto da primeira, quanto da segunda tabela", porque isso é realmente INNER JOIN. No INNER JOIN se em qualquer uma das tabelas houver um valor que na comparação não seja igual, será excluído da consulta (incluindo o NULL).
Por exemplo, se em uma tabela o campo tiver valor NULL e na outra não, o registro não virá no retorno da consulta.
Já no FULL JOIN não, mesmo que o registro seja NULL ele virá no retorno da consulta. Ou seja, ele trará todas as linhas, AINDA QUE NÃO SATISFAÇAM a comparação entre as tabelas.