Je vérifie quelques anciennes déclarations SQL dans le but de les documenter et probablement de les améliorer.
Le SGBD est Oracle
Je n'ai pas compris une déclaration qui se lit comme ceci :
select ...
from a,b
where a.id=b.id(+)
Je suis confus au sujet de la (+)
opérateur, et je n'ai pu l'obtenir sur aucun forum... (la recherche de + entre guillemets n'a pas fonctionné non plus).
Quoi qu'il en soit, j'ai utilisé 'Explain Plan' de SQLDeveloper et j'ai obtenu un résultat disant que HASH JOIN, RIGHT OUTER
etc.
Y aurait-il une différence si j'enlevais le (+)
à la fin de la requête ? La base de données doit-elle satisfaire à certaines conditions (par exemple, disposer de certains index, etc.) avant que l'opérateur ne puisse être utilisé ? (+)
peut être utilisé ? Il serait très utile que vous me fournissiez une explication simple, ou quelques bons liens où je peux lire à ce sujet.
Gracias.
1 votes
Ce n'est pas un opérateur. C'est juste un morceau de syntaxe qui affecte ce que JOIN fait.
1 votes
Oracle le désigne comme un opérateur docs.oracle.com/cd/B28359_01/server.111/b28286/…
0 votes
@malckier Appeler cela un opérateur n'en fait pas un opérateur. Si la documentation était meilleure, peut-être que les gens comprendraient ce qu'il essaie de dire.