私は 10 年以上 SQL (SQL Server、PostgreSQL) を使用していますが、まだ使用したことがなく、本番コードでキーワードを使用ANY/SOME
していません。ALL
私が遭遇したすべての状況は、、、、、で回避でき、IN
より読みやすいと思います。MAX
MIN
EXISTS
例えば:
-- = ANY
select * from Users as U where U.ID = ANY(select P.User_ID from Payments as P);
-- IN
select * from Users as U where U.ID IN (select P.User_ID from Payments as P);
または
-- < ANY
select * from Users as U where U.Salary < ANY(select P.Amount from Payments as P);
-- EXISTS
select * from Users as U where EXISTS (select * from Payments as P where P.Amount > U.Salary);
ANY/SOME
と の使用ALL
:
質問は次のとおりです。他のソリューションに勝る状況はありANY/SOME
ますか?ALL