トップページに戻る    次のSQLパズルへ    前のSQLパズルへ

2-1-5 集合演算でのnullの扱い

SQL

--■■■unionで和集合を取得■■■
select nvl(val1,'nullです') as Result
  from (select null as val1 from dual union
        select null from dual);

Result
--------
nullです

--■■■union allで和集合を取得■■■
select nvl(val1,'nullです') as Result
  from (select null as val1 from dual union all
        select null from dual);

Result
--------
nullです
nullです

--■■■intersectで共通集合を取得■■■
select nvl(val1,'nullです')  as Result,val2
  from (select null as val1,3 as val2 from dual
        intersect
        select null,3 from dual);

Result    val2
--------  ----
nullです     3

--■■■minusで差集合を取得■■■
select null,3 from dual
 minus
select null,3 from dual;

レコードが選択されませんでした。


解説

union演算子で和集合を取得でき、
intersect演算子で共通集合を取得でき、
minus演算子で差集合が取得できます。

union演算子、intersect演算子、minus演算子では
nullとnullは、等しい扱いになります。