知らなかった副問合せ【ORACLE】
ANY
ANYはなかなか使わないけど、selectしたもののうち一つでも条件に合えば返す
X > ANY(select Y from Z) → ZのYのうちのひとつを上回ればtrue
→ X > select MIN(Y) from Z で良さそう
速さはANYの方が速そう
ALL
select したもののうち全ての条件に合えば返す
Y > ALL(select Y from Z) → ZのYの全てを上回ればtrue
→ Y > select MAX(Y) from Z でよさそう
速さはALLの方が速そう
複数一致
select * from A where (b,c) = select b,c from Dというふうに複数列の条件を一度にかける。これは知らなかった。多分、これを使うべき時はあったんじゃないかな。
不覚。