ORACLE MASTER Silver SQL 26aiリレーションとSELECT・制限・ソートオリジナル・公式資料照合難易度★★★☆☆
Oracle AI Database 26aiのemployees(employee_id PRIMARY KEY, salary NUMBER)に(1,100)、(2,200)、(3,200)だけがある。次の結果でemployee_idが表示される順序はどれか。 SELECT employee_id, salary AS pay FROM employees ORDER BY pay DESC, employee_id ASC FETCH FIRST 2 ROWS ONLY;
A
3、2
employee_idの指定はASCなので、同額行は大きいIDからにはなりません。
B
1、2
これは低給与を先に選ぶ結果です。payにはDESCが指定されています。
C
2、3★ 正解
payの降順で同額200を選び、employee_idの昇順が同額時の順序を決めます。
D
1、2、3
FETCH FIRST 2 ROWS ONLYはこの条件では2行へ制限します。全行を返す指定ではありません。
解説
給与の降順で200の2行が先です。同額の並びは一意なemployee_idの昇順で決まるため2、3です。FETCH FIRSTはこの順序から2行を取り、WITH TIESの指定はありません。
根拠資料・確認情報
対応範囲:Oracle AI Database 26ai SQL Associate(1Z0-171-JPN)
資料確認日:2026-10-29
同じレッスンの問題
問題 1
Oracle AI Database 26aiを使う。customers(customer_id PRIMARY KEY)には10、20があり、orders(order_id PRIMARY KEY, customer_id REFERENCES customers(customer_id))の行は(1,10)、(2,10)、(3,20)、(4,NULL)だけである。次のSQLが返すcustomer_idの集合はどれか。行の表示順は問わない。
SELECT DISTINCT c.customer_id
FROM customers c JOIN orders o
ON c.customer_id = o.customer_id;
問題 2
Oracle AI Database 26aiで、次の2列の値を順に答える。数値はNUMBERとして評価する。
SELECT 100 + 10 * CAST(NULL AS NUMBER) AS a,
100 + 10 * NVL(CAST(NULL AS NUMBER), 0) AS b
FROM dual;
問題 4
Oracle AI Database 26aiへSQL*Plusで接続し、DEFINE ON、通常の置換文字&を使う。次を順に実行する。VERIFYのold/new表示行自体は数えず、SELECTの数値結果と置換の実行場所の説明を選ぶ。
DEFINE extra = 8
SET VERIFY ON
SELECT 100 + &extra AS total FROM dual;