
Diferencias entre los 5 tipos de Join:
- INNER JOIN: es el caso de unión interna clásico, combina dos o más tablas descartando todas las filas resultados que no se correspondan en ambas.
- LEFT OUTER JOIN (o LEFT JOIN): combina dos tablas con la diferencia que selecciona todas las filas de la primer tabla sin importar tengan o no coincidencia en la segunda. RIGHT OUTER JOIN (o RIGHT OUTER): es la opción inversa a la anterior. En la mayoría de las bases de datos actuales se puede omitir OUTER.
- FULL OUTER JOIN: combina los resultados de dos o más tablas, tengan o no coincidencia entre sí.
- CROSS JOIN: retorna el producto cartesiano de dos o más tablas, es decir, combina cada fila de una tabla con cada fila de otra tabla. CROSS JOIN no debería llevar la clausula ON.
- NATURAL JOIN: Es un caso especial de INNER JOIN que compara por cuenta propia la equivalencia de columnas con el mismo nombre y tipo de dato entre dos o más tablas para hacer la combinación de ambas. Hay que tener especial cuidado con su uso, pues puede producir resultados ambiguos o generar problemas si se añaden, quitan, o renombran las columnas.
Aquí os dejo un enlace a una página web donde aparcen ejemplos visuales: A Visual Explanation of SQL Joins
Saludos
No hay comentarios:
Publicar un comentario