SQLのANYについて質問です。 ①ANY使用 SELECT * FROM 出金テーブル WHERE 出金額 > ANY ( SELECT 出金額
SQLのANYについて質問です。 ①ANY使用 SELECT * FROM 出金テーブル WHERE 出金額 > ANY ( SELECT 出金額 FROM 他のテーブル ); と、 ②MIN使用 SELECT * FROM 出金テーブル WHERE 出金額 > ( SELECT MIN(出金額) FROM 他のテーブル ); の違いが判りません。 サブクエリの結果が[1000, 2000, 3000]の場合、最小値である1000(出金額 > 1000)がTRUEであれば 出金額 > 2000や 出金額 > 3000は判別する必要がないように思っています。 ANYは 出金額 > 1000 OR 出金額 > 2000 OR 出金額 > 3000 と同値のため、 出金額 > 1000 OR 出金額 > 2000 がTRUEでも 出金額 > 3000 がFALSEになる可能性がある というように判別方法に違いがあることはわかるのですが、 ”つまりは 出金額 > 1000 で賄えるのでは?” と思っています。 不等号でない場合はIN句と同値となると思うので、いよいよANYの存在意義がよくわかりません。。。。 どなたかご教授の程よろしくお願い致します。
SQL Server・42閲覧