問題
33
SQL
NOT EXISTS
SQLの問題に挑戦しよう!
問題
「NOT EXISTS」
注文履歴がない顧客を取得してください。
解答と解説(NOT EXISTS)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
NOT EXISTSは、サブクエリが1件も結果を返さない場合に真となる条件式です。EXISTSの否定形であり、「関連データが存在しない」ケースの抽出に使用されます。例えば未購入ユーザーの抽出や未処理データの検出などで活用されます。NOT INでも同様の処理は可能ですが、NULLが含まれる場合に期待通り動作しないことがあります。そのため実務ではNOT EXISTSの方が安全であるとされる場面も多くあります。データ整合性確認や除外条件を伴う分析では重要な構文です。
補足
NOT INはNULLを含むと意図しない結果になる可能性があります。特に外部キーにNULLが入る設計では注意が必要です。安全性を重視する場合はNOT EXISTSを選択するケースが多く、実行計画も必ず確認しましょう。