Introducció

El FULL OUTER JOIN és una operació en SQL que combina els resultats de l'INNER JOIN, el LEFT JOIN i el RIGHT JOIN. Aquesta operació retorna totes les files quan hi ha una coincidència en qualsevol de les taules, i omple amb NULL les columnes que no tenen coincidència en l'altra taula.

Sintaxi

La sintaxi bàsica per a un FULL OUTER JOIN és la següent:

SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;

Explicació

  • SELECT column_name(s): Especifica les columnes que vols seleccionar.
  • FROM table1: Especifica la primera taula.
  • FULL OUTER JOIN table2: Especifica la segona taula i indica que es farà un FULL OUTER JOIN.
  • ON table1.column_name = table2.column_name: Especifica la condició de la unió.

Exemple Pràctic

Suposem que tenim dues taules, clients i comandes, amb les següents dades:

clients

client_id nom
1 Anna
2 Bernat
3 Carles

comandes

comanda_id client_id producte
101 1 Ordinador
102 2 Telèfon
103 4 Tauleta

Volem obtenir una llista de tots els clients i les seves comandes, incloent-hi els clients que no tenen comandes i les comandes que no tenen clients associats.

SELECT clients.client_id, clients.nom, comandes.comanda_id, comandes.producte
FROM clients
FULL OUTER JOIN comandes
ON clients.client_id = comandes.client_id;

Resultat:

client_id nom comanda_id producte
1 Anna 101 Ordinador
2 Bernat 102 Telèfon
3 Carles NULL NULL
NULL NULL 103 Tauleta

Exercici Pràctic

Enunciat

Dades les següents taules empleats i projectes, escriu una consulta que utilitzi FULL OUTER JOIN per obtenir una llista de tots els empleats i els seus projectes, incloent-hi els empleats que no tenen projectes i els projectes que no tenen empleats associats.

empleats

empleat_id nom
1 Marta
2 Joan
3 Laura

projectes

projecte_id empleat_id projecte
201 1 Projecte A
202 3 Projecte B
203 4 Projecte C

Solució

SELECT empleats.empleat_id, empleats.nom, projectes.projecte_id, projectes.projecte
FROM empleats
FULL OUTER JOIN projectes
ON empleats.empleat_id = projectes.empleat_id;

Resultat esperat:

empleat_id nom projecte_id projecte
1 Marta 201 Projecte A
2 Joan NULL NULL
3 Laura 202 Projecte B
NULL NULL 203 Projecte C

Errors Comuns

  1. Oblidar la clàusula ON: Sense la clàusula ON, SQL no sabrà com unir les taules.
  2. Confondre FULL OUTER JOIN amb altres tipus de JOIN: Assegura't d'entendre la diferència entre INNER JOIN, LEFT JOIN, RIGHT JOIN i FULL OUTER JOIN.

Consells Addicionals

  • Utilitza FULL OUTER JOIN quan necessitis combinar totes les files de dues taules, independentment de si hi ha coincidències.
  • Recorda que les columnes sense coincidència es completaran amb NULL.

Conclusió

El FULL OUTER JOIN és una eina poderosa per combinar dades de dues taules, assegurant que cap fila es perdi, independentment de si hi ha coincidències. Amb la pràctica, podràs utilitzar aquesta operació per resoldre problemes complexos de combinació de dades.

Curs de SQL

Mòdul 1: Introducció a SQL

Mòdul 2: Consultes bàsiques de SQL

Mòdul 3: Treballar amb múltiples taules

Mòdul 4: Filtratge avançat de dades

Mòdul 5: Manipulació de dades

Mòdul 6: Funcions avançades de SQL

Mòdul 7: Subconsultes i consultes niades

Mòdul 8: Índexs i optimització del rendiment

Mòdul 9: Transaccions i concurrència

Mòdul 10: Temes avançats

Mòdul 11: SQL en la pràctica

Mòdul 12: Projecte final

© Copyright 2024. Tots els drets reservats