Maîtriser les jointures SQL : INNER JOIN et OUTER JOIN expliquées
Les jointures SQL sont essentielles pour combiner les données de plusieurs tables de base de données. Ce guide se concentre sur deux types de jointures clés : INNER JOIN
et OUTER JOIN
, en soulignant leurs différences et leurs applications.
INNER JOIN
:
Un INNER JOIN
renvoie uniquement les lignes correspondantes de deux tables en fonction d'une condition de jointure spécifiée. Il filtre efficacement toutes les lignes pour lesquelles aucune correspondance n'est trouvée dans les deux tableaux. L'ensemble de résultats contient uniquement les données présentes dans les deux tables jointes.
OUTER JOIN
:
Contrairement à INNER JOIN
, les OUTER JOIN
renvoient toutes les lignes d'au moins une des tables. Cela inclut les lignes avec des données correspondantes dans l'autre tableau et, surtout, les lignes sans correspondance dans l'autre tableau.
OUTER JOIN
Variantes :
Plusieurs types de OUTER JOIN
existent, chacun ayant un but précis :
LEFT OUTER JOIN
(ou LEFT JOIN
) : Renvoie toutes les lignes du tableau de gauche (le tableau spécifié avant LEFT JOIN
). Si une correspondance existe dans le tableau de droite, les données correspondantes sont incluses ; sinon, les valeurs NULL
sont utilisées pour les colonnes de droite du tableau.
RIGHT OUTER JOIN
(ou RIGHT JOIN
) : Miroir LEFT JOIN
, mais renvoie toutes les lignes de la table droite et inclut NULL
valeurs pour les lignes sans correspondance à gauche tableau.
FULL OUTER JOIN
(ou FULL JOIN
) : Combine LEFT JOIN
et RIGHT JOIN
. Il renvoie toutes les lignes des deux tables. NULL
les valeurs remplissent les endroits où les correspondances manquent dans l'un ou l'autre des tableaux.
Exemple illustratif :
Considérons les tableaux "A" et "B":
Table A | Table B |
---|---|
1 | 3 |
2 | 4 |
3 | 5 |
4 | 6 |
INNER JOIN
(A INNER JOIN
B ON
A.a = B.b) :
Table A | Table B |
---|---|
3 | 3 |
4 | 4 |
LEFT OUTER JOIN
(A LEFT JOIN
B ON
A.a = B.b) :
Table A | Table B |
---|---|
1 | NULL |
2 | NULL |
3 | 3 |
4 | 4 |
RIGHT OUTER JOIN
(A RIGHT JOIN
B ON
A.a = B.b) :
Table A | Table B |
---|---|
3 | 3 |
4 | 4 |
NULL | 5 |
NULL | 6 |
FULL OUTER JOIN
(A FULL JOIN
B ON
A.a = B.b) :
Table A | Table B |
---|---|
1 | NULL |
2 | NULL |
3 | 3 |
4 | 4 |
NULL | 5 |
NULL | 6 |
En comprenant ces types de jointure, vous pouvez interroger et manipuler efficacement des données sur plusieurs tables, obtenant ainsi des informations précieuses à partir de votre base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!