TOP

Jointures SQL

SQL JOIN

L'expression JOIN est utilisée pour joindre des lignes de deux ou plusieurs tables en fonction de la colonne associée entre elles.


Regardons un exemple de la table "Orders" ("Commandes") :

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082

Regardez ensuite l'exemple de la table "Customers" ("Clients") :

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico

Notez que la colonne "CustomerID" du tableau "Orders" fait référence à "CustomerID" dans le tableau "Customers". La relation entre les deux tables ci-dessus est la colonne "CustomerID".

Nous pouvons ensuite créer l'instruction SQL suivante (contenant INNER JOIN) qui sélectionne les enregistrements qui ont des valeurs correspondantes dans les deux tables :

Run SQLSELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID

et cela produira quelque chose comme ceci :

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados1996-09-18
10365Antonio Moreno Taquería1996-11-27
10355Around the Horn1996-11-15
10383Around the Horn1996-12-16
10289B's Beverages1996-08-26

Différents types de SQL JOIN

Voici les différents types de JOIN en SQL :

  • (INNER) JOIN : renvoie les enregistrements qui ont des valeurs correspondantes dans les deux tables
  • LEFT (OUTER) JOIN : renvoie tous les enregistrements de la table de gauche et les enregistrements correspondants de la table de droite
  • RIGHT (OUTER) JOIN : renvoie tous les enregistrements de la table de droite et les enregistrements correspondants de la table de gauche
  • FULL (OUTER) JOIN : renvoie tous les enregistrements s'il y a une correspondance dans la table de gauche ou de droite


  • SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN SQL FULL OUTER JOIN