Inner Join x Cross Join

13/09/2014

Inner Join é o mesmo que Cross Join?

Mariana Carvalho

Respostas

13/09/2014

Lucas Rocha Currículo

Nao mariana e fica nitida a diferenca..

J1 – CROSS JOIN: é a primeira das três subfases. O CROSS JOIN gera um produto cartesiano combinando todas as linhas entre as duas tabelas envolvidas (N linhas x M linhas). O resultado desta subfase é uma tabela virtual contendo a combinação das linhas.

J2 – Filtro ON (INNER JOIN): esta subfase, se na query foi utilizada um INNER JOIN, recupera somente as linhas que atendam ao predicado da cláusula ON. O predicado ON é aplicado sobre todas as linhas retornadas na tabela virtual da subfase anterior (J1). O resultado da subfase J2 – Filtro ON é uma tabela virtual contendo EXCLUSIVAMENTE AS LINHAS QUE ATENDAM AO PREDICADO DO ON.

J3 – OUTER JOIN: esta subfase, se na query foi utilizada um OUTER JOIN, adiciona à tabela virtual, produzida no passo anterior, as linhas da tabela preservada que não atenderam ao predicado do ON. Uma tabela é definida como preservada conforme o tipo de OUTER JOIN (Left, Right ou Full) utilizado. Por exemplo, num LEFT OUTER JOIN a tabela preservada é a da esquerda e, desta forma, as linhas que foram desconsideradas na subfase anterior, são agora adicionadas “de volta”, gerando como saída uma nova tabela virtual.

Fonte: http://imasters.com.br/artigo/24756/banco-de-dados/verdades-e-mitos-sobre-joins/
Responder Citar

13/09/2014

Mariana Carvalho

Lucas, obrigada pelas definições e o link mostra apenas TUDO! :-)
Responder Citar

13/09/2014

Roniere Almeida

Opa! eu desconfiava mas não sabia das diferenças.
Responder Citar

15/09/2014

Mariana Carvalho

Opa! eu desconfiava mas não sabia das diferenças.


E eu nem imaginava, ja tinha lido algo pela internet mas a forma da explicação muito estranha.
Responder Citar