Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server:Qual é a diferença entre CROSS JOIN e FULL OUTER JOIN?


Uma junção cruzada produz um produto cartesiano entre as duas tabelas, retornando todas as combinações possíveis de todas as linhas. Não tem on cláusula porque você está apenas juntando tudo a tudo.

Uma full outer join é uma combinação de um left outer e right outer Junte-se. Ele retorna todas as linhas em ambas as tabelas que correspondem ao where da consulta cláusula e nos casos em que o on condição não pode ser satisfeita para essas linhas coloca null valores para os campos não preenchidos.

Este artigo da wikipedia explica os vários tipos de junções com exemplos de saída com um conjunto de amostras de tabelas.