Sobes.tech
Junior

Comment fonctionne la jointure SQL?

sobes.tech IA

Réponse de l'IA

JOIN en SQL combine des lignes de deux ou plusieurs tables en fonction d'une colonne liée entre elles. Il existe plusieurs types de JOIN:

  • INNER JOIN: Renvoie les lignes où il y a des correspondances de valeurs dans les deux tables.
  • LEFT (OUTER) JOIN: Renvoie toutes les lignes de la table de gauche et les lignes correspondantes de la droite. S'il n'y a pas de correspondance dans la table de droite, des valeurs NULL sont renvoyées pour les colonnes de la table de droite.
  • RIGHT (OUTER) JOIN: Renvoie toutes les lignes de la table de droite et les lignes correspondantes de la gauche. S'il n'y a pas de correspondance dans la table de gauche, des valeurs NULL sont renvoyées pour les colonnes de la table de gauche.
  • FULL (OUTER) JOIN: Renvoie toutes les lignes des deux tables. S'il n'y a pas de correspondance, des valeurs NULL sont renvoyées pour les colonnes correspondantes.
  • CROSS JOIN: Renvoie le produit cartésien de deux tables (chaque ligne de la première table est combinée avec chaque ligne de la seconde).

La syntaxe ressemble généralement à ceci:

SELECT colonne1, colonne2...
FROM table1
JOIN table2 ON table1.colonne_commune = table2.colonne_commune;

Exemple de INNER JOIN:

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

Considérons les tables customers et orders:

customers

customer_id customer_name
1 Alice
2 Bob
3 Charlie

orders

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

Le résultat de INNER JOIN sera:

order_id customer_name
101 Alice
102 Bob
103 Alice

Le résultat de LEFT JOIN (orders LEFT JOIN customers):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL