sql >> Base de Datos >  >> RDS >> Oracle

Oracle:'=ANY()' frente a 'IN ()'

ANY (o su sinónimo SOME ) es un azúcar de sintaxis para EXISTS con una correlación simple:

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

es lo mismo que:

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

Con la condición de igualdad en un campo no anulable, se vuelve similar a IN .

Todas las principales bases de datos, incluido SQL Server , MySQL y PostgreSQL , admita esta palabra clave.