"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Join intérieur vs jointure extérieure: Quelle est la différence et quand dois-je utiliser chacune?

Join intérieur vs jointure extérieure: Quelle est la différence et quand dois-je utiliser chacune?

Publié le 2025-03-23
Parcourir:295

INNER JOIN vs. OUTER JOIN: What's the Difference and When Should I Use Each?

Connexion de la base de données: comparaison entre la jointure intérieure et la jointure extérieure

Dans les opérations de base de données, les opérations de connexion sont la clé pour combiner plusieurs données de table. La jointure intérieure et la jointure extérieure sont deux types de connexion de base. Cet article explorera leurs principales différences et applications pratiques.

Inner join: intersection

join intérieur Sélectionnez les lignes qui ont des valeurs correspondantes dans deux colonnes ou plus dans différentes tables. Conceptuellement, il obtient l'intersection de deux ensembles, représentés par les parties qui se chevauchent du diagramme de Venn. Seules les lignes qui existent dans les deux tableaux sont incluses dans la sortie.

jointure extérieure: union

Contrairement à la jointure intérieure, la jointure extérieure contient toutes les lignes de la table spécifiée, qu'ils aient des correspondances dans d'autres tables. Cette opération crée efficacement une union, représentée par une zone combinée du diagramme de Venn.

Type de jointure extérieure

La jointure extérieure est divisée en trois types:

  • join extérieur gauche: obtient toutes les lignes de la table de gauche et toutes les lignes correspondantes dans la table droite. Les lignes de la table droite qui n'ont pas de correspondance dans la table de gauche contiendront des valeurs nuls.
  • JOIN DE LA REGER: similaire à la jointure extérieure gauche, mais obtient toutes les lignes de la table droite et correspondant aux lignes dans la table de gauche.
  • join extérieur complet: combiner toutes les lignes de deux tables et remplir des correspondances manquantes avec des valeurs nuls.

Exemple pratique

Considérez le tableau suivant contenant le client et leurs données de commande:

client (id, name)
Commandes (id, client_id, produit)

Inner join:

SELECT *
FROM customer
INNER JOIN orders ON customer.id = orders.customer_id;

Cette requête ne renverra que les clients qui ont passé la commande.

gauche extérieure join:

SELECT *
FROM customer
LEFT OUTER JOIN orders ON customer.id = orders.customer_id;

Cette requête renverra tous les clients, y compris ceux sans commandes, et les informations de commande seront nuls.

droit extérieur join:

SELECT *
FROM customer
RIGHT OUTER JOIN orders ON customer.id = orders.customer_id;

Cette requête renverra toutes les commandes, y compris les commandes passées par les clients qui n'existent pas dans le tableau client, et les informations du client seront une valeur nulle.

join extérieur complet:

SELECT *
FROM customer
FULL OUTER JOIN orders ON customer.id = orders.customer_id;

Cette requête renverra tous les clients et toutes les commandes, remplissant les correspondances manquantes avec des valeurs nulles.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3