スペック
筆者のスペック:新卒1年目Sier
・金融系のシステム開発に携わる
・言語:Java Oracle Javascript
・フレームワーク:Spring
・他:UNIXなど...
現在は2021/2/27の基本情報試験に向けてお勉強中。。
休日は、地元の友人と野球・サッカーをするのが至福の時です。
本題:EXISTS句とはなにか?
基本情報の教材をみてもいまいちピンとこなかっため、ネットで調査しそれを自分なりにまとめました。
EXISTS句は、基本的に相関副問合せを用いる際に扱われ存在検査と呼ばれています。
副問合せに対し、レコードがあれば真、レコードがなければ偽を返すものです。
ちなみに、相関副問合せは主問合せで用いる表と副問合せで用いる表の結合条件が含まれるものをいいます。
(意味を文で表現するとようわかりません。。。)
実際にテーブルとSQL分を書いてみてわかりやすくしました。
Eva
Select User.userid, User.name from User Where Exists (Select * from Eva Where User.userid = Eva.eva-code)
結果
テーブルUserの1行目のuserid = S-101はEva.eva-codeに存在するため「真」となり抽出されます。
しかし、2行目のuserid = A-102はEva.eva-codeに存在しないため抽出されません。
以上が、EXISTS句の扱い方になります。勉強になりました。