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) 無料問題 7 / 10 ・ 分野9: 集合演算子の使用

tab1 表の n 列は 1、2、2、3 の4行、tab2 表の n 列は 2、2、3、4 の4行である。次の SELECT 文が返す行数として正しいものはどれか。 SELECT n FROM tab1 INTERSECT SELECT n FROM tab2;

  1. 4行:tab1 の全行が返る
  2. 1行:両方の表に1回ずつ出る値が返る
  3. 3行:重複を除かず、2、2、3 が返る
  4. 2行:両方に存在する 2 と 3 が、重複を除いて返る
正解と解説を見る

正解: D

正解の理由
SQL Language Reference の「Set Operators」は、INTERSECT は両方の問合せが選択した、重複を除いた行をすべて返すと定める。tab1 と tab2 の両方にある値は 2 と 3 で、2 は重複を除いて1行になる。返る行は 2 と 3 の2行である。

違う選択肢
「1行:両方の表に1回ずつ出る値が返る」… 1回ずつしか出ない値に限る規則は無い。両方の表に出る値は 2 と 3 の2つで、どちらも返る
「3行:重複を除かず、2、2、3 が返る」… INTERSECT は重複する行を1行にまとめる。2 が重複を除かずに2行返ることはない
「4行:tab1 の全行が返る」… tab1 の全行ではなく、tab2 にも存在する行に絞られる。1 は tab2 に無いので返らない

押さえどころ
INTERSECT は、両方の問合せに存在する行を、重複を除いて返す。片方にしか無い値は返らない。

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

問題集(note)を見る