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:
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.
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