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 valeursNULLsont 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 valeursNULLsont 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 valeursNULLsont 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 |