Maison > base de données > tutoriel mysql > Quels sont les différents types de jointure SQL et comment fonctionnent-ils ?

Quels sont les différents types de jointure SQL et comment fonctionnent-ils ?

Barbara Streisand
Libérer: 2025-01-09 17:01:45
original
867 Les gens l'ont consulté

What are the Different SQL Join Types and How Do They Work?

Compréhension approfondie des types de jointure SQL : jointure interne, jointure externe, jointure gauche et jointure droite

Les jointures SQL sont utilisées pour combiner les données de plusieurs tables en fonction d'une ou plusieurs colonnes communes. Il existe quatre principaux types de jointures : les jointures internes, les jointures externes, les jointures de gauche et les jointures de droite. Chaque type a ses propres caractéristiques et considérations de performances.

Rejointure interne

Les jointures internes renvoient uniquement les lignes des deux tables qui ont des valeurs correspondantes. Il s'agit du type de jointure le plus restrictif car il contient uniquement les lignes pour lesquelles la condition de jointure est vraie. Cela signifie qu'il exclut les lignes qui n'ont pas de données correspondantes dans une autre table.

Exemple :

<code class="language-sql">SELECT *
FROM table1
INNER JOIN table2
ON table1.id = table2.id;</code>
Copier après la connexion

Rejoindre à gauche

Une jointure gauche renvoie toutes les lignes du tableau de gauche, qu'il existe ou non des lignes correspondantes dans le tableau de droite. Il contient toutes les lignes du tableau de gauche et toutes les lignes correspondantes du tableau de droite. Les valeurs NULL seront renvoyées pour les lignes du tableau de droite qui n'ont pas de lignes correspondantes trouvées dans le tableau de gauche.

Exemple :

<code class="language-sql">SELECT *
FROM table1
LEFT JOIN table2
ON table1.id = table2.id;</code>
Copier après la connexion

Rejoindre à droite

Une jointure à droite est similaire à une jointure à gauche, mais elle renvoie toutes les lignes du tableau de droite, qu'il y ait ou non des lignes correspondantes dans le tableau de gauche. Il contient toutes les lignes du tableau de droite et toutes les lignes correspondantes du tableau de gauche. Les valeurs NULL seront renvoyées pour les lignes du tableau de gauche qui n'ont pas de lignes correspondantes trouvées dans le tableau de droite.

Exemple :

<code class="language-sql">SELECT *
FROM table1
RIGHT JOIN table2
ON table1.id = table2.id;</code>
Copier après la connexion

Rejointure externe

La jointure externe est une combinaison de jointure gauche et de jointure droite. Il renvoie toutes les lignes des deux tables, que des lignes correspondantes existent ou non dans l'autre table. Les valeurs NULL sont renvoyées pour les lignes de l'une ou l'autre table pour lesquelles aucune ligne correspondante n'est trouvée dans l'autre table.

Exemple :

<code class="language-sql">SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.id = table2.id;</code>
Copier après la connexion

Notes de performances

Les performances des opérations de jointure dépendent du nombre de lignes dans la table, des conditions de jointure et du type de jointure utilisé. Les jointures internes ont tendance à être plus rapides que les jointures externes, car elles excluent les lignes qui n'ont pas de valeurs correspondantes. Les performances des jointures gauche et droite peuvent être similaires, en fonction de la taille de la table et des conditions de jointure.

En général, il est recommandé d'utiliser le type de jointure le plus restrictif, à condition qu'il renvoie toujours les données nécessaires. Cela permet d'optimiser les performances et de réduire le nombre de lignes inutiles renvoyé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