Joins

6
Join Un join es una combinación de dos o más tablas de una base de datos relacional, es una instrucción de lo más imprescindible si queremos realizar una aplicación que realice un uso correcto e intensivo de un gestor de Bases de datos cómo MySQL. Y es que gracias a los JOIN podemos leer datos de diferentes bases de datos en una única consulta. Lo que nos permitirá diseñar fácilmente tablas relacionadas entre ellas, veamos un ejemplo:

Transcript of Joins

Page 1: Joins

JoinUn join es una combinación de dos o más tablas de una base de datos relacional, es una instrucción de lo más imprescindible si queremos realizar una aplicación que realice un uso correcto e intensivo de un gestor de Bases de datos cómo MySQL.

Y es que gracias a los JOIN podemos leer datos de diferentes bases de datos en una única consulta. Lo que nos permitirá diseñar fácilmente tablas relacionadas entre ellas, veamos un ejemplo:

Page 2: Joins

Figura 1: En este ejemplo podemos ver una relación entre las tablas de empleados y de despachos, y la representación de un join entre ambasMySQL soporta muchas sintaxis diferentes para la instrucción JOIN en comandos de SELECT, DELETE y UPDATE.

Escribiremos la instrucción de JOIN en el apartado de referéncia de tablas ( el WHERE ) de nuestra consulta SQL, escojeremos la sintaxis de JOIN de las mencionadas anteriormente según el tipo de JOIN que queramos realizar.

A continuación se explican, con sus ejemplos en MySQL, los principales tipos de JOIN.

Page 4: Joins

Inner join INNER JOIN Este tipo de JOIN une los resultados coincidentes

en ambas tablas, no devolverá un registro de una tabla si no coincide con otro de la otra. SELECT * FROM empleados,despachos WHERE empleados.despacho_id = despachos.id

Page 5: Joins

Left right join LEFT (RIGHT) JOIN LEFT JOIN retorna los registros de la

primera tabla aunque no coincidan con ninguno de la otra.

RIGHT JOIN realiza lo mismo pero en base a la segunda tabla.

SELECT * FROM empleados LEFT JOIN despachos ON empleados.despacho_id = despachos.id

Page 6: Joins

Natural Join NATURAL JOIN Este JOIN retorna los registros de ambas

tablas que coincidan en todos los campos con el mismo nombre ( en el ejemplo empleados.nombre y despachos.nombre ).

RIGHT JOIN realiza lo mismo pero en base a la segunda tabla.

SELECT * FROM empleados NATURAL JOIN despachos