基本情報技術者試験 - 令和8年6月修了 - 問20

次のSQL文を実行したとき,エラーになる状況はどれか。

SQL文
 SELECT * FROM R
 UNION
 SELECT * FROM S
表Rと表Sがソートされていない。
表Rと表Sに重複する行が存在する。
表Rと表Sに列値がNULLの行が存在する。
表Rと表Sの列数が一致していない。
答え
分野 : テクノロジ系 › 技術要素 › データベース › データ操作
解説
UNION句」は,2つのSELECT結果を縦に結合する演算です。結合するには両方の表の列数が一致している必要があります。列数が違うとエラーになります。

「ア」は,UNIONの実行自体には影響しません。ソートORDER BY句で別途指定するものであり,UNION自体の前提条件ではありません。「イ」は,むしろUNIONが自動的に重複を除去してくれるため,エラーの原因にはなりません。重複を残したい場合はUNION ALLを使います。「ウ」も,UNIONの実行を妨げる要因ではありません。NULLを含む行も通常通り結合対象になります。列数の一致という構造的な条件だけがエラーの原因になる点を押さえておきましょう。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる