広告スペース(バナー)
🗄️SQL レッスン
SELECTの基礎6
データ操作とサブクエリ5
構文の基本を深める7
応用的な条件・結合7
検索とテーブル操作の応用6
高度なクエリ技法6
集計とデータ整合性6
仕上げの機能と応用6
レッスン 21 / 50

EXISTSで存在するかどうかを調べる

このレッスンでは、EXISTS演算子を使ったデータの存在確認を学び、関連データの有無で効率よく絞り込めるようになることを目標にします。「SQL EXISTS 使い方」で調べている方向けの内容です。

EXISTS(サブクエリ)は、サブクエリの結果が1件でもあればtrueになります。「貸出記録がある本だけ」のように、関連するデータが存在するかどうかで絞り込みたいときに使います。

サンプルコードでは、WHERE EXISTS (SELECT 1 FROM loans l WHERE l.book_id = b.id)という条件で、貸出記録が1件でもある本だけを取得しています。SELECT 1の「1」自体には特に意味がなく、存在するかどうかだけを確認するための慣習的な書き方です。

初心者がよくつまずくのが、EXISTSINのどちらを使うべきか迷うことです。INと似た使い方ができますが、EXISTSはサブクエリの中身(実際の値)ではなく「1件でも存在するか」だけを見るため、大量データでも高速に動作しやすいという利点があります。

在庫管理や貸出システムのように、「関連するレコードがあるかどうか」で処理を分けたい場面は実務でも非常によくあります。EXISTSを使いこなせると、こうした存在確認のクエリを効率よく書けるようになります。

SQL
OUTPUT / 実行結果

💡 初回実行時はSQLエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
関連データがあるかどうかを効率よく調べられるようになります。
広告スペース(バナー)
広告スペース(記事内)