MySQL5逆引き大全460の極意

データ操作命令(SELECT)の極意 - Tips66 あるテーブルでのレコードの有無に基づいてデータを絞り込むには

登録タグ
SQL
Icon comment count 0
Icon stock count 0

3-2UNION/結合/サブクエリTips66 あるテーブルでのレコードの有無に基づいてデータを絞り込むには

Level2

PointEXISTS演算子を利用します

構文   
SELECT 取得列 [,...] FROM テーブル名 WHERE [NOT] EXISTS (サブクエリ)

EXISTS演算子は、サブクエリで取り出された行が存在するかどうかを確認するための演算子です。逆に、存在しないことを確認したい場合にはNOT EXISTS演算子も利用できます。

たとえば以下は、「rentalテーブル上に存在しないメンバ(=一度もレンタルしたことのないメンバ)を抽出」する例です。

用例

mysql> SELECT name FROM member WHERE NOT EXISTS 
    -> (SELECT * FROM rental  

出典情報

Medium

MySQL5逆引き大全460の極意

  • 著者: 山田 祥寛

コメント

    コメントはありません