ORACLE MASTER Silver SQL 26ai集合演算の型・NULL・評価順オリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiで次を実行する。返る行数はどれか。WHEREでNULLを等号比較した場合ではなく、示したMINUSの動作を考える。 SELECT CAST(NULL AS NUMBER) AS x FROM dual MINUS SELECT CAST(NULL AS NUMBER) AS x FROM dual;
A
0行★ 正解
左右のNULL行が集合差の照合で対応し、左側にだけ残る行はない。
B
NULLを持つ1行
WHEREのNULL比較の性質を、そのまま集合演算の行照合に当てはめてはいけない。
C
NULLを持つ2行
MINUSはUNION ALLのように左右を連結する演算ではない。
D
NULLを含むため実行時エラーになる
型をNUMBERにそろえており、集合演算にNULLを含めること自体は可能である。
解説
MINUSは左の結果から右にも存在する行を除き、重複も除く。集合演算での行の照合では、対応するNULL同士は同じ行として扱われるため残らない。WHERE x=NULLがUNKNOWNになることとは区別する。
根拠資料・確認情報
対応範囲:ORACLE MASTER Silver SQL 26ai(1Z0-171-JPN)
資料確認日:2026-10-30
同じレッスンの問題
問題 1
Oracle AI Database 26aiで次を実行する。同名の別名があれば対応位置を自動的に並べ替える、という機能は指定していない。結果の説明はどれか。
SELECT 1 AS x, 'A' AS label FROM dual
UNION ALL
SELECT 'B' AS label, 2 AS x FROM dual;
問題 3
Oracle AI Database 26aiでa(x)は1、2、b(x)は2、c(x)は2だけを持つ。次のQ1とQ2の結果の組はどれか。表示順は問わない。
Q1: SELECT x FROM a UNION SELECT x FROM b MINUS SELECT x FROM c;
Q2: SELECT x FROM a UNION SELECT x FROM (SELECT x FROM b MINUS SELECT x FROM c);