Les types de connexion dans Oracle sont divisés en connexions internes et connexions externes. Les jointures internes renvoient les résultats pour les lignes correspondantes uniquement, tandis que les jointures externes renvoient les lignes correspondantes et les lignes qui apparaissent dans une seule table. Il existe trois types de jointures externes : la jointure externe gauche (renvoie toutes les lignes du tableau de gauche), la jointure externe droite (renvoie toutes les lignes du tableau de droite) et la jointure externe complète (renvoie toutes les lignes des deux côtés du tableau). La caractéristique de la jointure interne est de faire correspondre les lignes. La jointure externe gauche utilise NULL pour remplir les valeurs nulles de la table de droite, la jointure externe droite utilise NULL pour remplir les valeurs nulles de la table de gauche et la jointure externe complète utilise NULL pour remplissez les valeurs nulles des deux côtés du tableau.
La différence entre les jointures internes et les jointures externes dans Oracle
Définition :
Type :
Il existe trois types de jointures externes :
Différence :
Caractéristiques | Jointure interne | Jointure externe gauche | Jointure externe droite | Jointure externe complète |
---|---|---|---|---|
Mat Principe de Ching | Seul la ligne de correspondance | table de gauche | Correspondance de la table de droite | Correspondance des deux tables latérales |
Rangée de retour | Rangée de correspondance | Toutes les lignes de la table de gauche | Toutes les lignes de la table de droite | Toutes les lignes de la table des deux côtés |
Traitement des valeurs nulles | Afficher uniquement les lignes correspondantes | Remplissez les valeurs vides du tableau de droite avec NULL | Remplissez les valeurs vides du tableau de gauche avec NULL | Remplissez les valeurs vides du tableau de gauche avec NULL |
Exemple :
Supposons que nous ayons deux tables :
id
,name
id
,name
id
,address
内连接:
SELECT * FROM A INNER JOIN B ON A.id = B.id;
返回:仅具有匹配id
的行。
左外连接:
SELECT * FROM A LEFT OUTER JOIN B ON A.id = B.id;
返回:所有来自表 A 的行,以及具有匹配id
Table B:id
,adresse
SELECT customers.name, orders.order_date, products.product_name FROM customers LEFT OUTER JOIN orders ON customers.id = orders.customer_id LEFT OUTER JOIN products ON orders.product_id = products.id;
id
correspondant. Jointure externe gauche : rrreeeRetours : Toutes les lignes du tableau A et les lignes du tableau B avec le
id
correspondant (le cas échéant). Les lignes qui ne correspondent pas sont remplies avec NULL. Exemple de requête : La requête suivante joint les données de deux tables à l'aide d'une jointure externe gauche et affiche tous les clients et leurs adresses : rrreeeEn comprenant la différence entre les jointures internes et les jointures externes, les développeurs peuvent utiliser ces connexions. efficacement pour extraire les données de différentes tables et répondre aux exigences spécifiques des requêtes 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!