sql >> Databasteknik >  >> RDS >> Oracle

Oracle:'=ANY()' kontra 'IN ()'

ANY (eller dess synonym SOME ) är ett syntaxsocker för EXISTS med en enkel korrelation:

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

är samma som:

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

Med likhetsvillkoret på ett icke-nullbart fält blir det liknande IN .

Alla större databaser, inklusive SQL Server , MySQL och PostgreSQL , stödja detta sökord.



  1. IntentService fryser mitt applikationsgränssnitt

  2. Kalla pl/sql-funktion i java?

  3. Vila dialekt för Oracle Database 11g?

  4. Hur man beställer efter datum i MySQL