ガイドFE
SQL結合・集計・副問合せとトランザクションACID特性完全攻略|DB操作徹底解説
公開: 2026-08-25更新: 2026-08-26
基本情報技術者試験で頻出のSQL構文(INNER/OUTER JOIN, GROUP BY, HAVING, 副問合せ)とトランザクションのACID特性、排他制御(2相ロック、2相コミット)を徹底解説。
データベース分野の得点源となる「SQLの結合・集計操作」と「トランザクションACID特性」を徹底解説します。
1. SQLの内部結合(INNER JOIN)と外部結合(LEFT OUTER JOIN)
- INNER JOIN(内部結合): 両方のテーブルで結合キーが一致する行のみを抽出する。一致しない行は除外される。
- LEFT OUTER JOIN(左外部結合): 左側のテーブルの全行を残し、右側の一致する行を結合する。右側に該当がない列はNULLで埋められる。
- WHERE句 vs HAVING句: WHEREは「グループ化前の個別行の絞り込み」、HAVINGは「GROUP BYで集計した後のグループの絞り込み(例: COUNT(*) >= 2)」に使用する。
2. トランザクションのACID特性
特性 | 英語名 | 意味と具体例 |
|---|---|---|
原子性 | Atomicity | トランザクション内の全処理が完全に実行されるか、全く実行されずに取り消されるか(All or Nothing)。 |
一貫性 | Consistency | トランザクション前後で、整合性制約(主キー制約・外部キー制約等)が常に保たれること。 |
独立性(隔離性) | Isolation | 並行実行される複数トランザクションが互いに干渉せず、順番に実行されたのと同じ結果になること。 |
永続性(耐久性) | Durability | コミット完了後の更新結果は、その後のシステム障害でも失われないこと(ログ・チェックポイント)。 |
3. 2相コミット(Two-Phase Commit)
分散データベースにおいて、全ノードでトランザクションの一貫性を保証するプロトコル。コーディネータが全参加者に「コミット準備要求(第1フェーズ)」を送り、全員から合意を得てから「コミット要求(第2フェーズ)」を発行します。
この記事に関連する教科書用語
編集・検証について
編集・検証:IT資格ラボ編集部
IPAが公開する試験要綱・シラバス・過去問題と、各技術の公式資料を優先して内容を確認しています。制度変更や誤りを確認した場合は、記事を見直して更新します。
編集方針・情報源・訂正方針を見る