2016-04-26 10 views
-2

nor_employeesテーブルで、以下のクエリを実行すると、行が選択されません。in sql dbmsがクエリを実行する方法

SELECT lastname, firstname, employee_id 
FROM nor_employees 
WHERE employee_id NOT IN 
(SELECT reports_to FROM NOR_EMPLOYEES); 

SELECT lastname, firstname, employee_id 
FROM nor_employees 
WHERE employee_id NOT IN 
(SELECT reports_to FROM NOR_EMPLOYEES where reports_to is not null); 

理由を説明できますか?

+0

あなたは異なるWHERE句を持っているからです。 – fancyPants

答えて

0

3値の論理があります。 IN句

はありませんが、リストのヌルの値のいずれかが、我々はCOLを持っている場合、すなわち

select * 
from table 
where col not in (10,20) 

それは、場合

select * 
from table 
where col <> 10 and col <> 20 

にインタプリタによって翻訳され、等しくないに変換され<>ヌル。それは常に偽です。結果として結果セットに行がありません

関連する問題