ORACLE MASTER Silver SQL 26ai副問合せと集合演算オリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiでa(x NUMBER)の全行は1、1、2、b(x NUMBER)の全行は2、3である。次のU1、U2の結果行数の組はどれか。並び順は問わない。 U1: SELECT x FROM a UNION ALL SELECT x FROM b; U2: SELECT x FROM a UNION SELECT x FROM b;
A
U1は3行、U2は5行
重複を保持するALLの意味が逆です。UNION ALLの方がこのデータでは多い行数になります。
B
U1は5行、U2は4行
各入力内の重複だけを除くのではなく、両入力にある2の重複も除きます。
C
U1は5行、U2は3行★ 正解
ALLによる重複保持と、UNIONによる全体の重複除去を分けた値です。
D
U1もU2も2行
両側に同じ値がある行だけを返す演算ではありません。UNION系は和集合側の処理です。
解説
UNION ALLは両側の全行を保持するので3+2=5行です。UNIONは統合後の重複値を除いて1、2、3の3行になります。UNIONの重複除去は単に片方の表内だけへ適用するものではありません。
根拠資料・確認情報
対応範囲:Oracle AI Database 26ai SQL Associate(1Z0-171-JPN)
資料確認日:2026-10-29
同じレッスンの問題
問題 1
Oracle AI Database 26aiのemployees(emp_id, dept_id)に(1,10)、(2,20)、(3,NULL)、blocked(dept_id)に10とNULLだけがある。次は何行返すか。
SELECT emp_id FROM employees
WHERE dept_id NOT IN (SELECT dept_id FROM blocked);
問題 2
Oracle AI Database 26aiのbonus(id PRIMARY KEY, amount NUMBER)には(1,10)、(2,20)だけがある。AとBを独立に実行した結果の説明はどれか。
A: SELECT (SELECT amount FROM bonus WHERE id = 99) AS x FROM dual;
B: SELECT (SELECT amount FROM bonus) AS x FROM dual;
問題 4
Oracle AI Database 26aiでa(x NUMBER)は1、1、2、b(x NUMBER)は2、3だけである。次のMとIが返す値の集合の組はどれか。表示順は問わない。
M: SELECT x FROM a MINUS SELECT x FROM b;
I: SELECT x FROM a INTERSECT SELECT x FROM b;