レス
元トピ
次レスタイトル
Re: 問題ID: 19665 間違い?
フォーラム
最強WEB問題集Oracle Master 12c Bronze SQL基礎
投稿ユーザ(投稿日)
(2017/2/5)本文
-----引用(始)-----
解答は" 正常に実行されるが、データが1件も表示されない"
となっていおりますが以下の文だと複数行問い合わせのため、
エラーになるのではないでしょうか?
-----引用(終)-----
実際にやると正解の通り1件も選択されませんが…
[code]
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
に接続されました。
SQL> select department_id, department_name
2 from departments;
DEPARTMENT_ID DEPARTMENT_NAME
------------- ------------------------
1 総務
2 営業
3 開発
4 マーケティング
5 品質管理
SQL> SELECT employee_id, employee_name, hiredate
FROM employees
WHERE department_id >
(SELECT department_id FROM departments
WHERE department_id NOT BETWEEN 1 AND 5); 2 3 4 5
レコードが選択されませんでした。
[/code]
どのようなエラーになると想定されたのでしょうか?
また、解説の以下の部分はどのように理解されてますか?
-----引用(始)-----
DEPARTMENTS表には、DEPARTMENT_ID列の値が1~5のデータが登録されています。
設問のSQL文の副問合せではDEPARTMENTS表のDEPARTMENT_ID列の値が1~5以外のデータを取り出そうとしていますが、DEPARTMENT_ID列の値が1~5以外のデータはないのでデータは1件も取り出されません。
副問合せでデータが1件も取り出されない場合、主問合せにはNULL値が返され、主問合せでの問い合わせ結果も0件となります。
-----引用(終)-----
レス一覧
元トピ
次レス
Copyright (c) 2010
Ping-t All rights reserved.