Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 存在および非存在のためのサブクエリ | Eコマース分析におけるサブクエリ
SQLにおけるサブクエリ

book存在および非存在のためのサブクエリ

メニューを表示するにはスワイプしてください

1234567
SELECT title FROM books b WHERE NOT EXISTS ( SELECT 1 FROM borrowings br WHERE br.book_id = b.book_id );
copy

特定の関連レコードが存在するかどうかを確認する必要がある場合、サブクエリとともに EXISTS および NOT EXISTS 演算子を使用できます。これらの演算子は、テーブル間の関係を確認する際、たとえば一度も貸し出されたことのない本や、貸出履歴のない会員を見つける場合に特に有用です。

上記の例では、NOT EXISTS を使用して、books テーブル内で borrowings テーブルに対応するエントリが存在しないすべての本を検索しています。NOT EXISTS 内のサブクエリは、book_id が外側の books テーブルと一致する貸出レコードがあるかどうかを確認します。そのようなレコードが存在しない場合、その本が結果に含まれます。

EXISTS 演算子も同様に動作しますが、サブクエリが1行でも返す場合に真となります。EXISTS および NOT EXISTS は、このような存在または非存在のチェックによく使用され、特に大規模なデータセットやサブクエリが IN 値を返す可能性がある場合、NOT INNULL を使うより効率的なことが多いです。

EXISTS/NOT EXISTSIN/NOT IN のどちらを選択するかは、具体的なユースケースによります。EXISTS および NOT EXISTS は、関連する行の存在を確認する相関サブクエリで一般的に推奨されます。

1. SQL サブクエリで EXISTS と IN を使用する場合について、次のうち正しい記述はどれですか?

2. NOT EXISTS を使って、一度も貸し出されたことのない本のタイトルを返すクエリの空欄を埋めてください。

question mark

SQL サブクエリで EXISTS と IN を使用する場合について、次のうち正しい記述はどれですか?

正しい答えを選んでください

question-icon

NOT EXISTS を使って、一度も貸し出されたことのない本のタイトルを返すクエリの空欄を埋めてください。

( SELECT 1 FROM borrowings br WHERE br.book_id = b.book_id );
title
------------------------
The Hobbit
The Da Vinci Code
The Alchemist
The Art of War

クリックまたはドラッグ`n`ドロップして空欄を埋めてください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  14

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  14
some-alt