Tutorial SQL: Diferencia entre left, inner y right join
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 |
A | B | C |
1 | 1 | 1 |
2 | 2 | 2 |
3 | 3 | 3 |
4 | 4 | 4 |
B | D | E |
4 | 6 | 7 |
3 | 8 | 9 |
5 | 10 | 11 |
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:
A | B | C | B | D | E |
3 | 3 | 3 | 3 | 8 | 9 |
4 | 4 | 4 | 4 | 6 | 7 |
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:
A | B | C | B | D | E |
1 | 1 | 1 | NULL | NULL | NULL |
2 | 2 | 2 | NULL | NULL | NULL |
3 | 3 | 3 | 3 | 8 | 9 |
4 | 4 | 4 | 4 | 6 | 7 |
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.
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:
A | B | C | B | D | E |
4 | 4 | 4 | 4 | 6 | 7 |
3 | 3 | 3 | 3 | 8 | 9 |
NULL | NULL | NULL | 5 | 10 | 11 |
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.
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 7Cómo abrir puertos windows 7
Atajos de teclado de Windows
Windows 7 no muestra la fecha