基本情報技術者試験 / SQL(DDL/DML/結合/集合/副問合せ)

【基本情報技術者試験】リレーショナルデータベースにおける集合演算子に関する記述のうち、適切なものはどれか。

問題 24 / 30(AIが出題範囲に沿って作成した演習問題。過去問ではありません)

リレーショナルデータベースにおける集合演算子に関する記述のうち、適切なものはどれか。

  1. INTERSECTは、1番目の問合せ結果から2番目の問合せ結果に含まれる行を差し引いた差集合を求める
  2. UNIONは2つの問合せ結果を併合して重複行を排除するが、UNION ALLは重複行を排除せずにすべて出力する
  3. EXCEPT(またはMINUS)は、2つの問合せ結果の両方に共通して含まれる行だけを抽出する
  4. 集合演算を行う2つの問合せでは、SELECT句に指定する列のデータ型や列数が異なっていても自動的に型変換されて実行できる
  5. UNION ALLを使用すると、ソート処理による重複排除が行われるためUNIONよりも実行速度が低下する
正解と解説を見る

正解: UNIONは2つの問合せ結果を併合して重複行を排除するが、UNION ALLは重複行を排除せずにすべて出力する

正解は「UNIONは2つの問合せ結果を併合して重複行を排除するが、UNION ALLは重複行を排除せずにすべて出力する」です。UNIONは和集合を求めて重複を排除しますが、UNION ALLは重複排除処理を行わずにそのまま連結します。「EXCEPT(またはMINUS)は、2つの問合せ結果の両方に共通して含まれる行だけを抽出する」はINTERSECTの説明であり、EXCEPTは差集合を求めます。「INTERSECTは、1番目の問合せ結果から2番目の問合せ結果に含まれる行を差し引いた差集合を求める」はEXCEPTの説明であり、INTERSECTは積集合(共通部分)を求めます。「集合演算を行う2つの問合せでは、SELECT句に指定する列のデータ型や列数が異なっていても自動的に型変換されて実行できる」は誤りで、対象となる列数および対応する列のデータ型に互換性が必要です。「UNION ALLを使用すると、ソート処理による重複排除が行われるためUNIONよりも実行速度が低下する」は逆で、重複排除を行わないUNION ALLのほうが通常高速に動作します。

基本情報技術者試験の重要用語

ホワイトボックステスト
プログラムの内部構造や制御の導線に着目し、ソースコードが設計通りに動作するかを確認するテスト手法です。条件分岐やループ処理などが正しく網羅されているかを検証します。主な網羅性の指標として、命令網羅や判定条件網羅などがあります。内部のロジックを詳細に追うため、主に開発者自身が行う単体テストの段階で実施されます。
システム監査
情報システムのリスクに対するコントロールが適切に整備・運用されているかを、独立した第三者が客観的に点検・評価することです。組織の目標達成に寄与し、不備があれば改善勧告を行います。試験では、監査人の「独立性」や「客観性」が重要視され、監査計画の策定から報告、フォローアップまでの一連の流れが頻出します。
OSI参照モデル
国際標準化機構(ISO)によって策定された、ネットワーク通信の機能を7つの階層に分割してモデル化したものです。物理層からアプリケーション層まで、各層が特定の役割を担うことで、異なるメーカーの機器間でも通信が可能になります。試験では、各階層の名称と役割、および代表的なプロトコルの対応関係を把握しておくことが非常に重要です。
ウォーターフォールモデル
開発工程を要件定義、設計、開発、テストといった順序で分割し、前の工程が完了してから次の工程へ進む開発手法です。進捗管理が容易で品質を確保しやすい一方、工程の差し戻しが発生すると多大なコストがかかる特徴があります。要件が明確な大規模プロジェクトに向いており、基本情報技術者試験では最も基本的な開発モデルとして頻出します。

用語をもっと見る →

基本情報技術者試験の問題をアプリで解く

全3,184問から毎回10問を出題。解説・AIへの質問・間違えた問題の復習で、無料で対策できます。