3
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について②

Posted at

今回はEXISTSの「相関副問い合わせ」について説明していきます。

Code Name
01 田中
02 鈴木
03 中村
04 山崎
Code Score
01 80
02 90

前回使用したのと同じテーブルを使用します。

SQL
SELECT * FROM TABLE1 
WHERE EXISTS (
    SELECT 1 FROM TABLE2 
    WHERE TABLE1.Code = TABLE2.Code)
    AND Name like '%中%';

順番としては、カッコの外側のSQLが実行されてから、カッコの内側のSQLが実行されることになります。
つまり、存在判定とは実行される順番が逆になります。
カッコの内側のSQLの中ではカッコの外側のSQLの項目が使用されており、これを行うことで「相関副問い合わせ」となります。
また、上記のSQLを実行した結果は以下の通りになります。

Code Name
01 田中

TABLE2にCodeが存在する、かつNameに「中」が含まれるレコードのみが取得されます。
相関副問い合わせは、意外と使うことになる場面が多いので、覚えておくといろいろ便利かもしれません。

3
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
3
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?