Array
(
)

Inner Join x Cross Join

Mariana Carvalho
   - 13 set 2014

Inner Join é o mesmo que Cross Join?

Lucas Rocha
|
MVP
    13 set 2014

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/

Mariana Carvalho
   - 13 set 2014

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

Roniere Almeida
   - 13 set 2014

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

Mariana Carvalho
   - 15 set 2014


Citação:
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.