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

Oracle :'=ANY()' par rapport à 'IN ()'

ANY (ou son synonyme SOME ) est un sucre de syntaxe pour EXISTS avec une simple corrélation :

SELECT  *
FROM    mytable
WHERE   x <= ANY
        (
        SELECT  y
        FROM    othertable
        )

est identique à :

SELECT  *
FROM    mytable m
WHERE   EXISTS
        (
        SELECT  NULL
        FROM    othertable o
        WHERE   m.x <= o.y
        )

Avec la condition d'égalité sur un champ non nul, il devient similaire à IN .

Toutes les principales bases de données, y compris SQL Server , MySQL et PostgreSQL , prenez en charge ce mot-clé.