
応用情報|科目B データベース|SQL・設計・性能を学ぶ実戦演習6題
SQLの文法を、業務条件に合うSQLと記述答案へつなげたい方へ。応用情報・科目Bのデータベースを練習する、6事例・30設問のオリジナル教材です。
買い切り980円。解答例・本文の根拠・誤答例と見直す視点を収録。まず下の無料例題で、説明との相性を確かめてください。基本情報の科目B向けではありません。
無料例題:WHEREとHAVING
売上表に、顧客ID、金額、状態がある。「状態が確定の行だけを集計し、合計金額が10,000円以上の顧客を抽出したい」。
設問:状態の条件と合計金額の条件を、それぞれWHEREとHAVINGのどちらに書くか答えよ。
解答:状態の条件はWHERE、合計金額の条件はHAVING。
WHEREは集計前の行を絞り、HAVINGは集計したグループを絞ります。「確定した売上だけ」と「確定した売上の合計が一定以上」を分けるのがポイントです。
根拠→SQLの作り方:①「確定の行だけ」は集計する前の条件。②「顧客ごとの合計」はグループの単位。③「合計10,000円以上」は集計後の条件です。業務文を行・グループ・集計値に分けると、書く場所を判断できます。
自己確認:状態の条件をHAVINGへ、SUMの条件をWHEREへ書こうとしたら、「何を絞る条件か」を言い直してください。有料演習では、SQLの形だけでなく、小さいデータで結果と境界条件まで確認します。
実戦演習の内容
演習①:売上明細の結合・集計・結果確認。
演習②:注文と注文明細の主キー・外部キー・設計。
演習③:在庫の更新消失・行ロック・デッドロック。
演習④:未入金の抽出・NOT EXISTS・NULLと状態。
演習⑤:社員・部署の関数従属性・正規化・更新不整合。
演習⑥:複合B-tree索引の列順・日時の境界・性能確認。
初めての方は①から1題ずつ、既存3題を解いた方は④から始めてください。まず25分を目安に自分のSQL・答案を残し、解答例・本文の根拠・誤答例を確認します。翌日と1週間後に、解説を隠して解き直しましょう。
基礎用語やSELECTを初めて学ぶ方向けの入門講座ではありません。無料例題を理解したうえで、業務条件からSQLや答案を作る練習に進みたい方に向いています。
使い方・前提
SELECT・結合・集計・制約の基礎を学んだ方向けです。SQLは文法と実際の結果の両方を確認します。1題20〜25分を学習用の目安に、自分の答案・SQLを残してから解説と照合し、翌日・1週間後に解き直します。指定字数と各事例の条件に従ってください。本試験の分量・難度の再現や、公式採点基準ではありません。
科目A知識を、表の読み方に変える
主キーは行を一意に識別します。複合主キーなら、列の組合せ全体で一意になることを確認します。外部キーは参照先との整合性を保つための制約です。参照元の列が常に一意になるとは限りません。
結合では、どの表をどの列で対応付けるかを先に決めます。集計では「何を1グループにするか」を決めてからSUMやCOUNTを考えます。

これは理解のための確認順です。SQLの記述順やDB内部の物理実行順と同一ではありません。
購入前の確認・購入済みの方へ
科目Aの4択問題集・講座とは別の記述演習です。基礎テーマは共通しますが、事例と設問は異なります。他商品の購入だけで本記事も読めるとは限りません。本記事の購入だけで他商品が読めるわけでもありません。
本記事を購入済みの方は買い直し不要です。既存3題を終えた方は④から、追加料金なしで取り組めます。月額プラン加入中の方も、現在の対象教材・閲覧可否を先に確認し、対象記事の重複購入は避けてください。必要な練習が手持ちの教材でできる場合は、追加購入不要です。
分野を比較する方は全11分野の一覧と無料例題へ。すべてをそろえる必要はありません。
ここまでが無料です。この下から実戦演習の問題文・設問・解説が始まります。