Maison > base de données > tutoriel mysql > Quelle est la différence entre INNER JOIN et OUTER JOIN dans SQL ?

Quelle est la différence entre INNER JOIN et OUTER JOIN dans SQL ?

DDD
Libérer: 2025-01-25 17:52:10
original
146 Les gens l'ont consulté

What's the Difference Between INNER JOIN and OUTER JOIN in SQL?

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal