sql >> Base de Datos >  >> RDS >> Sqlserver

SQL Server:¿Cuál es la diferencia entre CROSS JOIN y FULL OUTER JOIN?

Una combinación cruzada produce un producto cartesiano entre las dos tablas, devolviendo todas las combinaciones posibles de todas las filas. No tiene on cláusula porque simplemente estás uniendo todo a todo.

Una full outer join es una combinación de un left outer y right outer entrar. Devuelve todas las filas en ambas tablas que coinciden con el where de la consulta y en los casos en que on la condición no se puede cumplir para esas filas pone null valores para los campos despoblados.

Este artículo de wikipedia explica los distintos tipos de uniones con ejemplos de salida dado un conjunto de tablas de muestra.