Maison  >  Article  >  base de données  >  La différence entre la jointure interne et la jointure externe dans Oracle

La différence entre la jointure interne et la jointure externe dans Oracle

下次还敢
下次还敢original
2024-04-30 07:18:17625parcourir

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 la jointure interne et la jointure externe dans Oracle

La différence entre les jointures internes et les jointures externes dans Oracle

Définition :

  • Inner JOIN (INNER JOIN) : renvoie uniquement les données de toutes les lignes correspondantes dans deux tables ou plus.
  • Jointure externe : renvoie les données de toutes les lignes correspondantes dans deux tables ou plus, ainsi que des lignes qui existent dans une seule table.

Type :

Il existe trois types de jointures externes :

  • LEFT OUTER JOIN (LEFT OUTER JOIN) : Renvoie toutes les lignes du tableau de gauche et les lignes correspondantes du tableau de droite.
  • RIGHT OUTER JOIN : renvoie toutes les lignes du tableau de droite et les lignes correspondantes du tableau de gauche.
  • FULL OUTER JOIN : renvoie les lignes de deux tables, même s'il n'y a pas de correspondance entre les lignes.

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 :

  • Table A : id, nameid, name
  • 表 Bid, address

内连接:

<code>SELECT *
FROM A
INNER JOIN B
ON A.id = B.id;</code>

返回:仅具有匹配 id 的行。

左外连接:

<code>SELECT *
FROM A
LEFT OUTER JOIN B
ON A.id = B.id;</code>

返回:所有来自表 A 的行,以及具有匹配 id

Table B : id , adresse

Jointure interne :

<code>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;</code>
🎜🎜Renvois : 🎜Uniquement les lignes avec l'id correspondant. 🎜🎜🎜Jointure externe gauche : 🎜🎜rrreee🎜🎜Retours : 🎜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 : 🎜rrreee🎜En 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!

Déclaration:
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