ORACLE MASTER Silver SQL 26aiリレーションとSELECT・制限・ソートオリジナル・公式資料照合難易度★★★☆☆

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;

A
10と20の2値★ 正解

結合後は10、10、20となり、DISTINCTで10の重複を除いた結果です。

B
10、10、20の3値

これはDISTINCTを付けない結合結果です。主キーがある顧客表を結合しても、注文側の複数行が消えるわけではありません。

C
10、20、NULLの3値

内部結合の等値条件はNULLとどの顧客IDの間でもTRUEになりません。ordersのNULLを独立した顧客として追加しません。

D
10だけ

顧客20にも対応する注文が1件あります。DISTINCTは出現回数が1回の値を捨てる指定ではありません。

解説

結合は注文と顧客の対応する行を作り、10に対応する注文が2件あれば結合直後の10も2行になります。DISTINCTは投影したcustomer_idの重複を除きます。NULLの注文行は等値結合の相手を作りません。

根拠資料・確認情報

対応範囲:Oracle AI Database 26ai SQL Associate(1Z0-171-JPN)

資料確認日:2026-10-29

同じレッスンの問題

アプリで毎日学習しよう

ゲーミフィケーションで ORACLE MASTER Silver SQL 26ai 合格を目指す。無料・課金なし。

更新: 2026/10/28