Inner Join x Cross Join

SQL Server

13/09/2014

Inner Join é o mesmo que Cross Join?
Mariana Carvalho

Mariana Carvalho

Curtidas 0

Respostas

Lucas Rocha

Lucas Rocha

13/09/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/
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

13/09/2014

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

Roniere Almeida

13/09/2014

Opa! eu desconfiava mas não sabia das diferenças.
GOSTEI 0
Mariana Carvalho

Mariana Carvalho

13/09/2014

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.
GOSTEI 0
POSTAR