【TRY! ORACLE MASTER】11g SQL基礎I 編
(第4回 副問合せ、集合演算子)

みなさん、こんにちは。TRY! ORACLE MASTERもシリーズ第4回となりました!これまでの正解率はどうですか?今回は初心者がつまづきやすい副問合せと集合演算子についての出題です。


まずは、副問合せに関する問題です。

問題(7)

複数行副問合せで使用できる条件を1つ選択してください。

  1. BETWEEN
  2. <>
  3. ANY
  4. LIKE


回答と解説:

 正解は、3.です。

複数行副問合せでは、単一行条件( = 、 <> など)は使用できません。複数行条件にはIN、ANY、ALLがあります。

副問合せはSQLを勉強する際につまづきやすいポイントです。今なら無料でナレーション入りのオンライントレーニング(プレミアム・ライブラリ)にて、副問合せを無償受講できます。

詳細はこちら



どうでしたか?副問合せははじめ少しとっつきにくいところがあるかもしれません。通常は有償のオンラインコンテンツを、この機会に無料体験してスキルアップに役立ててみてください。次は、集合演算子についてです。


問題(8)

UNION演算子の説明として、最も正しいものは次のうちどれですか。

  1. 2つの問合せで選択される列の数とデータ型は同じでなければならない。
  2. 問合せ結果はORDER BY句を指定しない限りソートされない。
  3. 問合せ結果の中で、同じ行が2行以上戻される場合がある。
  4. 2つの問合せで選択される列の名前は同じでなければならない。


回答と解説:

 正解は、1.です。

UNION演算子は、2つの問合せの結果を合わせた行を戻しますが、重複する行は一度だけ表示します。2つの問合せのSELECT句の列数とデータ 型は同じでなければなりません。しかし列名は同じでなくてもかまいません。また、デフォルトではSELECT句の第1列でソートされます。



いかがでしたでしょうか。不正解だったかたは各トピックを見直してくださいね。次回は、「データの更新」と「表の作成および管理」についてとりあげます。お楽しみに!