Oracle
 sql >> Base de données >  >> RDS >> Oracle

Que signifie un signe (+) dans une clause Oracle SQL WHERE ?

Il s'agit d'une notation spécifique à Oracle pour une jointure externe. Cela signifie qu'il inclura toutes les lignes de t1 et utilisera NULLS dans les colonnes t0 s'il n'y a pas de ligne correspondante dans t0.

En SQL standard on écrirait :

SELECT t0.foo, t1.bar
  FROM FIRST_TABLE t0
 RIGHT OUTER JOIN SECOND_TABLE t1;

Oracle recommande de ne plus utiliser ces jointures si votre version supporte les jointures ANSI (LEFT/RIGHT JOIN) :

Oracle recommande d'utiliser la syntaxe FROM clause OUTER JOIN plutôt que l'opérateur de jointure Oracle. Les requêtes de jointure externe qui utilisent l'opérateur de jointure Oracle (+) sont soumises aux règles et restrictions suivantes […]