Combinar taules - UNEIX-TE
Combinar taules - UNEIX-TE

 

Un join és una combinació de dues o més taules d'una base de dades relacional, és una instrucció d'allò més imprescindible si volem fer una aplicació que faci un ús correcte i intensiu d'un gestor de bases de dades com MySQL. I és que gràcies als JOIN podem llegir dades de diferents bases de dades en una única consulta. El que ens permetrà dissenyar fàcilment taules relacionades entre elles, vegem un exemple:

 

Figura 1: En aquest exemple podem veure una relació entre les taules d'empleats i de despatxos, i la representació d'un join entre ambdues

MySQL suporta moltes sintaxi diferents per a la instrucció JOIN en comandaments de SELECT, DELETE i UPDATE. Escriurem la instrucció de JOIN a l'apartat de referència de taules (el WHERE) de la nostra consulta SQL, escojeremos la sintaxi de JOIN de les esmentades anteriorment segons el tipus de JOIN que vulguem realitzar. A continuació s'expliquen, amb els seus exemples en MySQL, els principals tipus de JOIN.

Taula de contingut


 

 


  •  

INNER JOIN

Aquest tipus de JOIN uneix els resultats coincidents en ambdues taules, no retornarà un registre d'una taula si no coincideix amb un altre de l'altra.

000 SELECT * FROM empleats, despatxos  WHERE  empleats.despatxo_id = despatxos.id

 

 

 

 

LEFT (DRETA) UNEIX-TE

LEFT JOIN retorna els registres de la primera taula encara que no coincideixin amb cap de l'altra. RIGHT JOIN realitza el mateix però sobre la base de la segona taula.

000 SELECT * FROM empleats LEFT JOIN despatxos ON empleats.despatxo_id =despatxos.id


 

 

 

 

NATURAL JOIN

Aquest JOIN retorna els registres d'ambdues taules que coincideixin en tots els camps amb el mateix nom (en l'exemple empleats.nom i despatx.nom). RIGHT JOIN realitza el mateix però sobre la base de la segona taula.

000 SELECT * FROM empleats NATURAL JOIN despatxos