ORACLE MASTER Silver SQL 26ai条件・集計・結合の実行結果オリジナル・公式資料照合難易度★★★☆☆

Oracle AI Database 26aiで、employees(emp_id,dept_id)には(1,10)、(2,20)、(3,NULL)、blocked(dept_id)には10、NULLだけがある。次のSQLが返すemp_idの集合はどれか。各列はNUMBERで、表示順は問わない。 SELECT e.emp_id FROM employees e WHERE NOT EXISTS ( SELECT 1 FROM blocked b WHERE b.dept_id = e.dept_id );

A
空集合

blockedにNULLがあるだけで、すべてのNOT EXISTSが偽になるわけではありません。各従業員について副問合せの行の有無を調べます。

B
2と3★ 正解

20に一致する行はなく、NULL同士の等値比較も真にならないため、両方でNOT EXISTSが真になります。

C
2だけ

employeesのNULLを除外するIS NOT NULL条件はありません。NULL行にも相関条件を満たすblocked行はなく、3も返ります。

D
1と2と3

emp_id=1にはblockedの10が一致して副問合せが1行以上返すため、NOT EXISTSは偽です。

解説

NOT EXISTSは相関条件を満たす行が副問合せにない場合に真です。dept_id=10には対応する行があるためemp_id=1を除きます。20にもNULLにも等値条件を真にするblocked行がないため、2と3を返します。NOT INとNULLを含む場合の挙動を混同しないことが重要です。

根拠資料・確認情報

対応範囲:Oracle AI Database 26ai SQL Associate(1Z0-171-JPN)

資料確認日:2026-10-29

同じレッスンの問題

アプリで毎日学習しよう

ゲーミフィケーションで ORACLE MASTER Silver SQL 26ai 合格を目指す。無料・課金なし。

更新: 2026/10/28
Oracle AI Database 26aiで、employees(emp_i | ORACLE MASTER Silver SQL 26ai 練習問題・解説 | Mondaily