Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

SQL Server:qual è la differenza tra CROSS JOIN e FULL OUTER JOIN?

Un cross join produce un prodotto cartesiano tra le due tabelle, restituendo tutte le possibili combinazioni di tutte le righe. Non ha on clausola perché stai semplicemente unendo tutto a tutto.

Un full outer join è una combinazione di un left outer e right outer giuntura. Restituisce tutte le righe in entrambe le tabelle che corrispondono a where della query clausola, e nei casi in cui il on la condizione non può essere soddisfatta per quelle righe mette null valori per i campi non popolati.

Questo articolo di Wikipedia spiega i vari tipi di join con esempi di output forniti da un campione di tabelle.