SQLの基本文(SELECT・INSERT・UPDATE・DELETE)とは?
SQLの基本文(SELECT・INSERT・UPDATE・DELETE)とは、SQLの基本4命令。SELECTはデータの検索、INSERTは新規データの追加、UPDATEは既存データの更新、DELETEはデータの削除を行う。WHERE句で対象行を絞り込み、JOINで複数テーブルを結合するのが基本パターン。応用情報ではこれらを組み合わせた集約・副問い合わせ・集合演算などが出題される。
基本情報技術者試験の過去問では8回出題されています(2016年度〜2026年度)。
えすきゅーえるのきほんぶん
SQLの基本文(SELECT・INSERT・UPDATE・DELETE)の意味
SQLの基本4命令。SELECTはデータの検索、INSERTは新規データの追加、UPDATEは既存データの更新、DELETEはデータの削除を行う。WHERE句で対象行を絞り込み、JOINで複数テーブルを結合するのが基本パターン。応用情報ではこれらを組み合わせた集約・副問い合わせ・集合演算などが出題される。
SQLの基本文(SELECT・INSERT・UPDATE・DELETE)の具体例
UPDATE 商品 SET 価格 = 価格 * 1.1 WHERE カテゴリ = '飲料' のように書けば、飲料カテゴリの商品だけ価格を1割上げられる。
SQLの基本文(SELECT・INSERT・UPDATE・DELETE)は試験でどう引っ掛けられる?
WHERE句を書き忘れたUPDATE・DELETEは全行が対象になる。またWHEREとHAVINGの適用時点が違い、グループ化の前に行を絞るのがWHERE、グループ化した後の集計結果で絞るのがHAVINGなので、COUNTやSUMの結果を条件にできるのはHAVINGだけ。DELETEは行を消す操作でDROPは表そのものを消す操作という違い、集約関数のCOUNT(*)は全行を数えるがCOUNT(列名)はNULLの行を数えないという違いも定番。
SQLの基本文(SELECT・INSERT・UPDATE・DELETE)と関連する用語
SQLの基本文(SELECT・INSERT・UPDATE・DELETE)が出た過去問
関係代数の演算のうち,関係R,Sの直積(R×S)に対応するSELECT文はどれか。ここで,関係R,Sを表R,Sに対応させ,表R及びSにそれぞれ行の重複はないもの…
正解:SELECT * FROM R, S
要点:直積はFROMに表を並べた全組合せ。行数はm×n
直積は、2つの関係のすべての行の組合せを作り、列を連結した関係を得る演算である。SQLではFROM句に複数の表を結合条件なしで並べると各行の全組合せが得られるため、これが直積に対応する。行数はRとSの行数の積になる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問28(IPA)“社員”表と“部門”表に対して,次のSQL文を実行したときの結果はどれか。 SELECT COUNT(*) FROM 社員, 部門 WHERE 社員.所属 = …
正解:3
要点:結合+条件のCOUNT(*)は条件を満たす行の組合せ数を数える
部門表でフロアが2なのは情報システム・経理・法務・購買である。社員表のうち所属がこれらに一致するのは、経理が1人、情報システムが2人で、法務と購買には所属する社員がいない。結合条件を満たす行は合計3行なのでCOUNT(*)は3となる。
出典:平成28年度 秋期 基本情報技術者試験 午前 問29(IPA)次の埋込みSQLを用いたプログラムの一部において、Xは何を表す名前か。 EXEC SQL OPEN X; EXEC SQL FETCH X INTO :NAME…
正解:カーソル
要点:埋込みSQLはカーソルで結果を1行ずつ処理する
埋込みSQLでは、複数行の検索結果を1行ずつ順に取り出すためにカーソルを使う。OPENで結果集合を開き、FETCHで現在行を変数に取り出し、WHERE CURRENT OF でその行を更新し、CLOSEで閉じるという一連の操作はカーソルに対するものである。
出典:平成30年度 春期 基本情報技術者試験 午前 問28(IPA)“得点”表から、学生ごとに全科目の点数の平均を算出し、平均が80点以上の学生の学生番号とその平均点を求める。aに入れる適切な字句はどれか。ここで、実線の下線は主…
正解:学生番号 HAVING AVG(点数) >= 80
要点:集約結果での絞り込みはWHEREでなくHAVINGを使う
学生ごとの平均を出すには、集計の単位となる学生番号でGROUP BYする必要がある。さらに「平均が80点以上」という条件は集約関数の結果に対する絞り込みなので、行単位で働くWHEREではなくグループ単位で働くHAVINGを使う。よって学生番号でグループ化し、HAVINGで平均点を判定する形になる。
出典:令和1年度 秋期 基本情報技術者試験 午前 問26(IPA)"中間テスト"表からクラスごと、教科ごとの平均点を求め、クラス名、教科名の昇順に表示するSQL文中のaに入れる字句はどれか。 中間テスト(クラス名、教科名、学生…
正解:GROUP BY クラス名, 教科名 ORDER BY クラス名, 教科名
要点:GROUP BYは集計の単位、ORDER BYは並べ替えの順序
クラスと教科の組合せごとに平均を出すので、GROUP BYにはクラス名と教科名の両方を指定する。学生番号まで含めると学生1人ごとの集計になってしまい、求める粒度と合わない。並び順の指定はクラス名、教科名の昇順なので、ORDER BYにはこの2つを順に書く。
出典:令和1年度 春期 基本情報技術者試験 午前 問27(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。