¿Cuál es la diferencia entre los INNER JOIN
, LEFT JOIN
, RIGHT JOIN
y FULL JOIN
en MySQL?
Respuestas
¿Demasiados anuncios?La lectura de este artículo original en El Proyecto de Código va a ayudar mucho: Representación Visual de las Combinaciones de SQL.
También revisar este post: SQL SERVER - Mejor Rendimiento - LEFT JOIN o NO?.
Encontrar el original en: Diferencia entre JOIN y OUTER JOIN en MySQL.
INNER JOIN obtiene todos los registros de una tabla que tiene algunos relacionados con la entrada en una segunda tabla
LEFT JOIN obtiene todos los registros de la IZQUIERDA de la tabla vinculada, pero si ha seleccionado algunas de las columnas de la tabla de la DERECHA, si no hay registros relacionados, estas columnas contienen NULL
RIGHT JOIN es igual que el anterior, pero obtiene todos los registros en la tabla de la DERECHA
COMPLETA UNIRSE obtiene todos los registros de ambas tablas y pone a NULL en las columnas donde los registros relacionados no existen en la tabla opuesta
Una explicación maravillosa de las combinaciones de sql
http://commons.wikimedia.org/wiki/File:SQL_Joins.svg
La explicación por Jeff Attwood con diagramas de Venn puede hacer por usted.
Una Explicación Visual de las Combinaciones de SQL
Lo que realmente necesitamos hacer es leer sobre álgebra relacional. Aquí está el artículo de Wiki en une, pero leer el wnole artículo.