Maison > base de données > tutoriel mysql > Quelles sont les différences entre les jointures SQL internes, gauches, droites et externes ?

Quelles sont les différences entre les jointures SQL internes, gauches, droites et externes ?

Patricia Arquette
Libérer: 2025-01-09 17:16:42
original
797 Les gens l'ont consulté

What are the Differences Between Inner, Left, Right, and Outer SQL Joins?

Compréhension approfondie des nuances de SQL JOIN

SQL JOIN joue un rôle essentiel dans le traitement et l'agrégation des données. Parmi les différents types de JOIN, la JOIN interne (INNER JOIN), la JOIN externe gauche (LEFT OUTER JOIN), la JOIN externe droite (RIGHT OUTER JOIN) et la JOIN externe complète (FULL OUTER JOIN) sont souvent utilisées pour combiner les données de plusieurs tables en fonction de critères spécifiques. données.

JOINTURE INTÉRIEURE (JOINTURE INTÉRIEURE)

Inner JOIN récupère uniquement les lignes de deux tables ou plus où les colonnes de jointure correspondent. Il inclut uniquement les lignes qui correspondent dans les deux tableaux, filtrant efficacement toutes les lignes qui ne correspondent pas.

JOINTURE EXTERNE (JOINTURE EXTERNE)

Utilisez external JOIN lorsque vous souhaitez inclure toutes les lignes d'une table, qu'elles correspondent ou non aux lignes d'une autre table. Il existe trois types de JOIN externe :

  • LEFT OUTER JOIN : Contient toutes les lignes du tableau de gauche et toutes les lignes correspondantes du tableau de droite. Les lignes sans correspondance dans le tableau de gauche seront remplies avec des valeurs NULL.
  • RIGHT OUTER JOIN : Similaire à left OUTER JOIN, mais inclut toutes les lignes de la table de droite et toutes les lignes correspondantes de la table de gauche. Les lignes sans correspondance dans le tableau de droite seront remplies avec des valeurs NULL.
  • FULL OUTER JOIN : Contient toutes les lignes des tables de gauche et de droite. S'il y a une correspondance d'un côté, la ligne correspondante est affichée ; s'il n'y a pas de correspondance, elle est remplie de valeurs NULL.

Exemple

Considérez l'exemple fourni dans l'article :

表1 (Customers) 表2 (Orders)
ID Name ID Customer ID Order Date
1 John 1 1 2023-01-01
2 Mary 2 1 2023-01-02
3 Tom 3 2 2023-01-03
4 Alice 4 3 2023-01-04

Le JOIN interne ne renverra que les lignes où l'ID client correspond dans les deux tables :

Customer ID Name Order Date
1 John 2023-01-01
1 John 2023-01-02

Notes de performances

Les performances de JOIN dépendent de divers facteurs, notamment la taille et la complexité de la table, l'optimiseur de requêtes utilisé et le moteur de base de données. Généralement, les JOIN internes sont plus efficaces car elles filtrent les lignes sans correspondance. Les JOIN externes peuvent nécessiter plus de ressources, en particulier lorsqu'il s'agit de grandes tables avec peu de correspondances. Le choix du type JOIN approprié est essentiel pour optimiser les requêtes de 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal