Maison > base de données > tutoriel mysql > Qu'est-ce que l'opérateur Oracle ( ) et comment fonctionne-t-il dans les OUTER JOIN ?

Qu'est-ce que l'opérateur Oracle ( ) et comment fonctionne-t-il dans les OUTER JOIN ?

DDD
Libérer: 2025-01-20 02:56:09
original
357 Les gens l'ont consulté

What is the Oracle ( ) Operator and How Does it Work in OUTER JOINs?

Comprendre l'opérateur Oracle ( ) dans les jointures externes

L'opérateur Oracle ( ), utilisé dans l'ancienne syntaxe SQL pour les jointures externes, est souvent source de confusion. Il s'agit d'un opérateur non standard, contrairement à la syntaxe JOIN standard ANSI. Examinons sa fonction dans les requêtes de jointure externe.

Les jointures externes expliquées

Une jointure externe connecte les lignes de deux tables (« a » et « b » dans l'exemple ci-dessous) en fonction d'une condition de jointure (par exemple, a.id=b.id). Contrairement à un INNER JOIN, une jointure externe inclut des lignes même s'il n'y a aucune correspondance dans l'autre table.

Joindre l'extérieur droit avec ( )

L'opérateur ( ) dans l'instruction Oracle suivante désigne une jointure externe droite :

<code class="language-sql">select ...
from a, b
where a.id = b.id(+)</code>
Copier après la connexion

Cette requête renvoie toutes les lignes de la table 'b'. Si une ligne dans « b » a un id correspondant dans « a », la ligne correspondante de « a » est incluse. Sinon, les colonnes de « a » auront NULL valeurs dans le jeu de résultats.

Alternatives modernes

Oracle conseille fortement d'utiliser la syntaxe JOIN de la norme ANSI-92, qui est plus claire et plus robuste :

ANSI-92 (recommandé) :

<code class="language-sql">SELECT ...
FROM a
RIGHT JOIN b ON b.id = a.id</code>
Copier après la connexion

Syntaxe d'Oracle ( ) (obsolète) :

<code class="language-sql">select ...
from a,b
where a.id=b.id(+)</code>
Copier après la connexion

Considérations importantes

L'opérateur ( ) a des limitations et des bizarreries non présentes dans la syntaxe standard JOIN. Pour une meilleure lisibilité et maintenabilité et pour éviter tout comportement inattendu, donnez toujours la priorité à la syntaxe ANSI-92 JOIN lors de l'écriture de requêtes de jointure externe dans Oracle.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal