-->

Diferencia entre left, inner y right join


Estas son las diferencias entre Left, Right e Inner Join

  • LEFT JOIN: Retorna todos los registros de la tabla izquierda y los registros coincidentes de la tabla derecha. Si no hay coincidencias, se muestra NULL en las columnas de la tabla derecha.
  • INNER JOIN: Retorna los registros que tienen coincidencias en ambas tablas. No muestra registros sin coincidencia.
  • RIGHT JOIN: Retorna todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda. Si no hay coincidencias, se muestra NULL en las columnas de la tabla izquierda.

Espero que esta tabla comparativa te ayude a entender las diferencias entre LEFT JOIN, INNER JOIN y RIGHT JOIN en SQL. Recuerda que la elección del tipo de join dependerá de tus necesidades y de la relación que exista entre las tablas involucradas en la consulta.


Tutorial SQL: Diferencia entre left, inner y right join con un ejemplo

En este artículo trataré de explicar de manera sencilla y con ejemplos muy visuales las diferencias que existen en SQL entre left join, inner join y right join.

Ejemplo de inner, left y right join: Para este ejemplo contaremos con dos tablas:

Tabla A
Tabla B
ABC
111
222
333
444
BDE
467
389
51011


Ejemplo INNER JOIN: Vamos a realizar un inner join de las tablas y visualizar el resultado.

SELECT Tabla * FROM Tabla A INNER JOIN Tabla B ON Tabla A.B = Tabla B.B
Tabla resultante:
ABCBDE
333389
444467

Como podemos observar, el inner join se realiza a través del campo B y muestra las filas de las tabla A y B cuyo campo B tiene el mismo valor. Como si fuera una intersección de conjuntos.

Ejemplo LEFT JOIN: Vamos a realizar un left join de las tablas y visualizar el resultado.

SELECT Tabla * FROM Tabla A LEFT JOIN Tabla B ON Tabla A.B = Tabla B.B
Tabla resultante:
ABCBDE
111NULLNULLNULL
222NULLNULLNULL
333389
444467

Como podemos observar, el left join devuelve todas las filas de la tabla de la izquierda (Tabla A) con sus correspondientes filas de la tabla de la derecha (Tabla B); En caso de no tener filas coincidentes en la tabla de la derecha, éstas se rellenan a NULL.

Resumiendo, el left join devuelve el mismo resultado que un inner join más las filas de la tabla de la izquierda que no tienen correspondencia en la tabla de la derecha, sustituyendo estos valores por NULL.

Ejemplo RIGHT JOIN: Vamos a realizar un right join de las tablas y visualizar el resultado.

SELECT Tabla * FROM Tabla A RIGHT JOIN Tabla B ON Tabla A.B = Tabla B.B
Tabla resultante:
ABCBDE
444467
333389
NULLNULLNULL51011

Como podemos observar, el right join devuelve todas las filas de la tabla de la derecha (Tabla B) con sus correspondientes filas de la tabla de la izquierda (Tabla A); En caso de no tener filas coincidentes en la tabla de la izquierda, éstas se rellenan a NULL.

Resumiendo, el right join devuelve el mismo resultado que un inner join más las filas de la tabla de la derecha que no tienen correspondencia en la tabla de la izquierda, sustituyendo estos valores por NULL.


Si te ha gustado el artículo sobre cómo corregir error "Apache shutdown unexpectedly" al iniciar Xampp te pido un favor: Haz clic sobre uno de los anuncios, con esto me ayudarás a mantener el Blog y pueda escribir más artículos.

ARTÍCULOS QUE TE PUEDEN INTERESAR

Cómo guardar la configuración de una red wifi en Windows 7
Cómo abrir puertos windows 7
Atajos de teclado de Windows
Windows 7 no muestra la fecha