レス
元トピ次レス
タイトル
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件となります。

-----引用(終)-----


レス一覧

元トピ次レス


Ping-tモバイルTOP

Copyright (c) 2010
Ping-t All rights reserved.