Oracle Database SQL(ORACLE MASTER Silver SQL 2019) 問題集

ORACLE MASTER Silver SQL 2019(1Z0-071-JPN)試験対策公式 ORACLE MASTER Silver SQL 2019 試験内容チェックリスト準拠

Oracle Database SQL(ORACLE MASTER Silver SQL 2019)の日本語問題集。全180問に解説つき。模擬試験は78問・120分です。

Oracle Database SQL(ORACLE MASTER Silver SQL 2019) 無料問題 6 / 10 ・ 分野7: 複数の表からのデータの表示

departments 表の department_id は 10、20、30 の3行、employees 表の department_id は 10、10、20 の3行である。次の SELECT 文が返す行数として正しいものはどれか。 SELECT d.department_id FROM departments d LEFT OUTER JOIN employees e ON d.department_id = e.department_id;

  1. 4行:部門10が2行、20が1行、30が1行
  2. 9行:3行 × 3行の組み合わせが返る
  3. 1行:一致する行の無い部門30が返る
  4. 3行:一致した組の数が返る
正解と解説を見る

正解: A

正解の理由
SQL Language Reference の「Joins」は、A の全行を返す左外部結合では、B に一致する行が無い A の行についても、B の列の式を NULL にして返すと定める。部門10は従業員2人と一致して2行、部門20は1行、部門30は一致が無いが NULL を付けて1行残るので、合計4行になる。

違う選択肢
「3行:一致した組の数が返る」… 内部結合の考え方で、一致した組だけを数えている。左外部結合は、一致しない部門30の行も残るので、3行では足りない
「1行:一致する行の無い部門30が返る」… 一致する行の無い行だけを返すと読んだ説明である。左外部結合は、一致した組も、一致しない左の行も、どちらも返す
「9行:3行 × 3行の組み合わせが返る」… 結合条件を省略したときの行数である。ON 句の条件があるので、一致する組と、一致しない部門の行が返る

押さえどころ
左外部結合の行数は、一致した組の数に、一致しなかった左の行の数を足したものである。左の行は1行も失われない。

Oracle Database SQL(ORACLE MASTER Silver SQL 2019)の演習アプリ(無料10問・全問は購入で)へ

問題集(note)を見る