1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SQL EXISTS句とは何ぞや?(基本情報)

Last updated at Posted at 2021-02-07

スペック

筆者のスペック:新卒1年目Sier

・金融系のシステム開発に携わる
・言語:Java Oracle  Javascript
・フレームワーク:Spring
・他:UNIXなど...

現在は2021/2/27の基本情報試験に向けてお勉強中。。
休日は、地元の友人と野球・サッカーをするのが至福の時です。

本題:EXISTS句とはなにか?
基本情報の教材をみてもいまいちピンとこなかっため、ネットで調査しそれを自分なりにまとめました。

EXISTS句は、基本的に相関副問合せを用いる際に扱われ存在検査と呼ばれています。
副問合せに対し、レコードがあれば真、レコードがなければ偽を返すものです。
ちなみに、相関副問合せは主問合せで用いる表と副問合せで用いる表の結合条件が含まれるものをいいます。
(意味を文で表現するとようわかりません。。。)

実際にテーブルとSQL分を書いてみてわかりやすくしました。

User
image.png

Eva
image.png
Select User.userid, User.name from User Where Exists (Select * from Eva Where User.userid = Eva.eva-code)
結果
image.png

テーブルUserの1行目のuserid = S-101はEva.eva-codeに存在するため「真」となり抽出されます。
しかし、2行目のuserid = A-102はEva.eva-codeに存在しないため抽出されません。

以上が、EXISTS句の扱い方になります。勉強になりました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?