基本情報技術者試験 科目 A

SQL をブラウザで動かして、わかりやすく理解する

プログラミング未経験でもつまずかないように、 データベース分野の SQL をその場で書いて実行できるようにしました。

「一つ進める」を押していくと、SQL が実際に評価される順番で、 それぞれの時点の表が 1 つずつ表示されます。

IPA シラバス Ver.9.2「データ操作」の範囲に対応。処理はすべてブラウザ内で完結します。

使う表

2 つの表を結合する練習に。在庫の無い商品があるので、外部結合や NOT EXISTS の違いが見える。

リセットで表の中身も元に戻ります
エディタを読み込み中…
商品主キー: 商品番号 / 非NULL: 商品名
商品番号商品名分類単価
P01ボールペンA120
P02ノートA200
P03消しゴムB80
P04定規B150
P05ホチキスC500
5
在庫主キー: 商品番号, 倉庫 / 商品番号 → 商品
商品番号倉庫在庫数
P01W130
P01W210
P02W10
P03W225
4

使用している表は過去問の構造をもとにした架空データです(平成26年春 問28 の表の構造をもとにした(値は作り直しています))。

SQL は書いた順に実行されない

SQL は SELECT から書き始めますが、評価されるのは最後です。実際の順番はこうなります。

その時点で何が起きるか
1FROM / JOIN表を読み込み、複数あれば組み合わせる。ここで扱う行が最も多くなる
2WHERE1 行ずつ見て絞り込む。まだグループが無いので集約関数は使えない
3GROUP BY残った行を、指定した列の値ごとにグループへまとめる
4HAVINGグループ単位で絞り込む。集約関数の結果で条件を書ける
5SELECTここでようやく列が決まる。別名 (AS) が有効になるのもこの時点
6DISTINCT確定した行から重複を取り除く
7ORDER BY最後に並べ替える。SELECT で付けた別名を使えるのはこのため

この順番から分かること

  • WHERE では集約関数が使えない。 WHERE は 2 番目、グループ化は 4 番目なので、WHERE の時点ではまだグループが存在しません。 グループに対する条件は HAVING に書きます。
  • ORDER BY では SELECT で付けた別名が使える。 ORDER BYSELECT の後なので、 そこで確定した列名を参照できます。
  • GROUP BY に無い列は取り出せない。 1 グループに複数行がまとまるため、どの行の値を出すか決まらないからです。

試験で問われる SQL の範囲

IPA シラバス Ver.9.2 の中分類「データ操作」に挙げられている用語のうち、 SQL に関わるものです。

分類項目このツール
問合せSELECT文 / 相関名 / パターン文字列 / 副問合せ / 集約関数実行できる
関係演算選択 / 射影 / 結合(内部結合・外部結合)実行できる
集合演算和 (UNION) / 差 (EXCEPT) / 積 (INTERSECT) / 直積実行できる
DMLINSERT文 / UPDATE文 / DELETE文実行できる
DDL・制約CREATE TABLE / 一意性制約 / 参照制約 / 検査制約 / 非NULL制約 / 実表とビュー実行できる
アクセス権GRANT文 / REVOKE文解説のみ
親言語方式埋込みSQL / カーソル / モジュール言語解説のみ

GRANT とカーソルは、利用者の概念やホスト言語が必要になるため実行できません。 エディタに書くと、実行できない理由と解説へのリンクが表示されます。

SQL をわかりやすく学ぶ — レッスン 12

シラバス「データ操作」の範囲をテーマ別に解説しています。 各レッスンには実行できるエディタが埋め込まれています。

基本情報の SQL をわかりやすく解説したレッスン一覧(全 12 本)→

読めるようになったら — 練習問題 14

SQL を読んで実行結果を当てる 4 択問題です。解答すると解説と、 その SQL をこのシミュレーターで開くリンクが出ます。

基本情報 SQL の練習問題一覧(全 14 問)→

データベースをもっと深く理解する

科目 A のデータベース分野では、SQL と並んで正規化ER 図が頻出です。このツールで扱う制約が「なぜ必要なのか」は参照整合性の解説で、実行速度に効くインデックスはRDB インデックス図解で扱っています。

科目 B の擬似言語は擬似言語 実行シミュレーターで同じように 1 行ずつ動かせます。

よくある疑問

Q.SQL がまったくわからないのですが、どこから始めればよいですか?
A.このページのエディタで「一つ進める」を押すところから始めてください。SQL が FROM → WHERE → GROUP BY → HAVING → SELECT の順に評価される様子が、途中の表つきで 1 段階ずつ見られます。SQL が難しく感じる最大の理由は「書いた順と実行される順が違う」ことなので、そこが目で見えると一気にわかりやすくなります。そのあと SQL レッスンを 1 本目の SELECT から順に読むのが最短です。
Q.プログラミング未経験でも基本情報の SQL は解けるようになりますか?
A.なります。SQL はプログラミング言語というより「表から必要な行と列を取り出す指示の書き方」で、変数もループも使いません。基本情報で問われるのは SELECT・結合・集約・GROUP BY・副問合せといった決まった型なので、型ごとに一度動かして確かめれば解けるようになります。このサイトのレッスンは、その型を 12 テーマに分けて初学者向けに順番に並べています。
Q.参考書を読んでも SQL が頭に入りません。何が違いますか?
A.紙の上では「この SQL を実行すると表がどう変わるか」が見えないためです。とくに GROUP BY は複数の行が 1 つのグループにまとまる操作なので、途中の状態を想像できないと HAVING との違いが理解できません。このツールでは GROUP BY の段階でグループそのものが表示されるので、想像する必要がなくなります。
Q.このツールは何ができますか?
A.基本情報技術者試験で問われる SQL を、その場で書いて実行できます。特徴は「一つ進める」で 1 段階ずつ追えることで、FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY という評価の順に、それぞれの時点の表を 1 つずつ見られることです。SELECT が最後に評価されることや、WHERE と HAVING の違いが目で確認できます。
Q.SQL はどこまで対応していますか?
A.IPA シラバス Ver.9.2 の「データ操作」の範囲です。SELECT・結合(カンマ結合と INNER / LEFT / RIGHT OUTER JOIN)・WHERE の各述語・GROUP BY・HAVING・ORDER BY・集約関数・副問合せ・集合演算・INSERT / UPDATE / DELETE・CREATE TABLE と 4 つの制約・CREATE VIEW を実行できます。
Q.GRANT やカーソルも試せますか?
A.いいえ。GRANT・REVOKE・カーソル・埋込み SQL は試験範囲ですが、利用者やホスト言語の概念が必要なため実行できません。これらを書くと「実行できない理由」と解説ページへのリンクが出ます。
Q.本物のデータベースを使っていますか?
A.いいえ。SQL の解析と実行はすべてブラウザ内で完結し、サーバには送信されません。表のデータもページを読み込むたびに初期状態に戻ります。INSERT や DELETE を自由に試して構いません。
Q.SQLite などと結果が違うことはありますか?
A.意図的に違えている点が 2 つあります。GROUP BY に無い列を SELECT に書いたときと、文字列と数値を比較したときは、SQLite が黙って通すのに対してこのツールはエラーにします。どちらも標準 SQL ではエラーで、試験でも誤りとされる書き方だからです。

試験対策に使える書籍

キタミ式イラストIT塾 基本情報技術者 令和08年
きたみりゅうじ

イラスト主体で科目Aの全範囲を通読できる入門書。用語の土台を作ってから科目Bのアルゴリズムに入ると理解が速い。

Amazon で見る →
令和08年 イメージ&クレバー方式でよくわかる かやのき先生の基本情報技術者教室
栢木厚

科目Aの頻出テーマを図と語呂で押さえる入門書。参考書と問題集を兼ねるので初受験の一冊目に選びやすい。

Amazon で見る →
令和08年 基本情報技術者 パーフェクトラーニング過去問題集
山本三雄

公開問題を大量に解いて仕上げるための問題集。擬似言語の読解に慣れた後、本番形式で時間配分を試す段階で使う。

Amazon で見る →
おすすめ
[改訂新版]基本情報技術者【科目B】アルゴリズム×擬似言語 トレーニングブック
大滝みや子

擬似言語の記法の読み方から、トレースして答えを出すまでを一冊で通せる科目B特化本。手を動かして追う練習量を確保したいときの定番。

Amazon で見る →
おすすめ
基本情報技術者【科目B】ゼロからわかるアルゴリズムと擬似言語
イエローテールコンピュータ/角谷一成

プログラミング未経験を前提に、記号の意味とアルゴリズムの考え方を最小単位から積み上げる入門書。変数や条件分岐で手が止まる段階に向く。

Amazon で見る →
2025-2026 基本情報技術者 科目Bの重点対策
富田良治

科目Bの出題パターンを網羅的に演習できる対策書。構文を理解した後、解法の型を身につける段階で効く。

Amazon で見る →
情報処理教科書 出るとこだけ!基本情報技術者[科目B]第4版
橋本祐史

科目Bの出題範囲を絞り込んだ薄型の対策書。頻出アルゴリズムと情報セキュリティを短期間で一周したいときに。

Amazon で見る →

本セクションはAmazonアソシエイトのリンクを含みます。