相関副問合せとEXISTSとは?
相関副問合せとEXISTSとは、副問合せの中で外側の問合せの列を参照する形式を相関副問合せという。外側の行ごとに内側が評価されるため、行単位の「存在するか」を判定できる。EXISTSは副問合せが1行でも返せば真となる述語で、相関副問合せと組み合わせて使うのが定番である。
そうかんふくといあわせとえぐじすつ
相関副問合せとEXISTSの意味
副問合せの中で外側の問合せの列を参照する形式を相関副問合せという。外側の行ごとに内側が評価されるため、行単位の「存在するか」を判定できる。EXISTSは副問合せが1行でも返せば真となる述語で、相関副問合せと組み合わせて使うのが定番である。
相関副問合せとEXISTSの具体例
「SELECT * FROM 顧客 C WHERE EXISTS(SELECT * FROM 受注 O WHERE O.顧客番号 = C.顧客番号)」は、受注が1件でもある顧客だけを取り出す。NOT EXISTSに変えれば、受注が1件もない顧客の抽出になる。
相関副問合せとEXISTSは試験でどう引っ掛けられる?
非相関の副問合せは1回だけ評価されるが、相関副問合せは外側の行ごとに評価される点が違う。またEXISTSは行の有無だけを見るので、内側のSELECT句に何を書いても結果は変わらない。
相関副問合せとEXISTSと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。