FE EXAM

SQL の基礎(SELECT / INSERT / UPDATE / DELETE)

RDB を操作する標準言語 SQL。検索・追加・更新・削除・集約の代表的なパターンを実例で学びます。

SQL PLAYGROUND
SELECT
INSERT
UPDATE
DELETE
現在のシナリオ
SELECT — データを取り出す
全件取得、列指定、WHERE で絞り込み、ORDER BY で並べ替え、を順に学びます。
シナリオ
ステップ1 / 6
SELECTSTEP 1/6 — 全件取得:SELECT *
まずは社員テーブルの全データを取得。* はすべての列を意味します。
-- SQL:
SELECT * FROM 社員;
📋 実行結果(5 行)
idnamedeptsalaryage
E01田中営業38028
E02鈴木営業52035
E03佐藤開発60032
E04山田開発48026
E05小林人事55042
解説

📌
SQL とは — RDB を操作する共通言語

ユーザーSQL 文結果

SQL(Structured Query Language)は、リレーショナルデータベース(RDB)を操作するための標準言語です。ANSI / ISO で標準化されており、Oracle・MySQL・PostgreSQL など主要 RDBMS でほぼ共通に使えます。

SQL の特徴は「何が欲しいか」を書く宣言的な言語であること。「どうやって取り出すか(インデックスを使う、結合順を決めるなど)」は DB が自動で最適化します。

上のツールで「SELECT」「集約関数」「INSERT / UPDATE / DELETE」の各シナリオを切り替えて、代表的な SQL 文の動きを確認できます。

📌
DDL / DML / DCL — SQL の 3 分類

分類正式名コマンド用途
DDLData Definition LanguageCREATE, ALTER, DROPテーブルなどの定義・変更・削除
DMLData Manipulation LanguageSELECT, INSERT, UPDATE, DELETEデータの操作
DCLData Control LanguageGRANT, REVOKE, COMMIT, ROLLBACK権限制御・トランザクション

SQL は用途で 3 種類に分けられます。それぞれの対応関係は次のとおりです:
DDL:構造を定義(CREATE TABLE など)
DML:データを操作(SELECT / INSERT / UPDATE / DELETE)← この章のメイン
DCL:権限・トランザクション制御(GRANT / COMMIT)

📌
SELECT 文の論理的な実行順序

SELECT 文は書く順序と実行順序が違うのがポイントです。


書く順序(覚え方):SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY
実行順序:FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY

実行順を知ると、なぜSELECT で付けた別名(AS)が WHERE では使えず、ORDER BY では使えるのかが分かります。WHERE は SELECT より先に実行されるため別名がまだ存在しない一方、ORDER BY は SELECT の後なので使えるわけです。

📌
集約関数と GROUP BY

集計用の関数(集約関数)には次のようなものがあります。


COUNT(*):行数を数える
SUM(col):合計
AVG(col):平均
MAX(col) / MIN(col):最大・最小

GROUP BY と組み合わせると、グループごとの集計ができます。「部署ごとの平均給与」「日付ごとの売上合計」などが典型例。

⚠️ よくある間違い:WHERE は集約前、HAVING は集約後に絞り込む。 「平均給与 500 以上の部署を取りたい」は WHERE では書けず、HAVING を使います(WHERE はまだ AVG が計算されていない段階で評価されるため)。

📌
INSERT / UPDATE / DELETE — データを変更する

データを変更する 3 つの操作:
INSERT:行を追加 — INSERT INTO テーブル (列) VALUES (値);
UPDATE:行を更新 — UPDATE テーブル SET 列=値 WHERE 条件;
DELETE:行を削除 — DELETE FROM テーブル WHERE 条件;

💀 最大の事故ポイント:UPDATE / DELETE で WHERE を忘れると全件操作。「給与を +1 したかっただけ」が全社員給与 +1 になったり、「1 行消すつもり」が全件削除になったり。本番 DB では必ずトランザクションで囲み、結果を確認してから COMMIT しましょう(次ページ参照)。

📌
SQL のお作法

読みやすい SQL を書くためのコツ:


・キーワード(SELECT, FROM, WHERE)は大文字、テーブル・列名は小文字
・各句で改行して読みやすく
・文字列リテラルはシングルクォート('...')、ダブルクォートは識別子用
・文末はセミコロン(;)で区切る
・テーブルにはエイリアス(別名)を付けると JOIN で見やすい

SQL は大文字小文字を区別しませんが、読解のために書き方に慣れておくとよいでしょう。上のツールの SQL コードボックスでシンタックスハイライトを参考にしてください。

練習問題

🎯
基本情報技術者 練習問題

Q1.テーブルから条件に合う行を検索する SQL 文はどれか。
A.INSERT
B.UPDATE
C.SELECT
D.DELETE
Q2.SELECT 文でデータを年齢の降順に並べる SQL 句はどれか。
A.WHERE age
B.GROUP BY age
C.ORDER BY age DESC
D.HAVING age
Q3.社員テーブルから部署が「営業」の社員数を求める SQL はどれか。
A.SELECT COUNT(*) FROM 社員 WHERE dept = '営業';
B.SELECT SUM(*) FROM 社員 WHERE dept = '営業';
C.SELECT 社員 FROM 社員 WHERE dept = '営業';
D.SELECT COUNT(dept) FROM 社員 GROUP BY dept;

関連コンテンツ