SQL・データベースコース

業務データを取り出し、壊れない形で保存する。

必要なデータを取り出す力と、 壊れないテーブルを設計する力。 この2つが揃うと、データを扱う仕事が一通りできます。

全3コース128レッスン(約32時間)

読み出す力と、設計する力を両方つける

SELECTから始めて、JOIN、集計、サブクエリへ。 そのあとER図と正規化で、テーブルを自分で設計します。

STEP 1データを、思いどおりに取り出す

SQL入門:データベース操作のきほん
学習無料

SQL入門編

データを思いどおりに取り出す

SELECT、WHERE、JOIN、GROUP BY、サブクエリ。 ブラウザ上のサンプルDBを操作しながら、必要な数字を出せるようにします。

71レッスン
始める

STEP 2壊れないテーブルを設計する

DB設計入門 ER図・正規化・インデックス
学習無料

設計編

壊れないテーブルを設計する

要件からのエンティティ抽出、ER図、正規化、キーと制約、インデックス設計。 EXPLAINで性能を確かめるところまで扱います。

47レッスン
始める

初見のデータベースに、いきなり向き合う

構造を知らないデータベースを渡されて、必要な数字を出す。 実務で最初に来る仕事は、だいたいこの形です。

チャレンジしてみよう!

SQL道場 図書館DBに挑む10問
道場有料プラン

道場編

司書「この蔵書データ、集計できますか?」

条件検索から集計、結合、副問い合わせ、トランザクション、テーブル設計へ。 最後はCTEを使った月次レポートまで組み立てます。

10レッスン
道場に挑む

スライドで復習する

手を動かす前に、図解でざっと思い出せます

SQL入門:データベース操作のきほん

保存するだけならファイルでもできる

在庫数をテキストファイルに書いておけば、たしかに保存はできます。それでも業務システムがデータベースを使うのは、保存できるかどうかとは別の理由があるからです。

1人で使っているうちは、この方法で何の問題も起きません。問題が出るのは2人目からです。

在庫数を書いたファイルを開くと、中身はこれだけです。

$ cat stock.txt 100

1 / 3

SQL入門:データベース操作のきほん

2人が同時に直すとどうなるか

手順を最後まで送って、ファイルと DBMS の結果を見比べてください。

  • 2人とも古い 100 を読んでから書くので、あとに書いたほうで上書きされる
  • エラーは出ない。消えたことに誰も気づかないまま話が進む
  • DBMS は読んだ行に鍵をかけて、片方を待たせることでこれを防ぐ
2人が同時に直すとどうなるか

2 / 3

SQL入門:データベース操作のきほん

DBMS が肩代わりしていること

同時に触られたときの整理は、その一部にすぎません。自分で書くと大変なものを、DBMS があらかじめ引き受けてくれています。

この表の右側を扱う言葉が SQL です。次のレッスンから、その書き方に入ります。

ファイルだと自分でやることDBMS がやってくれること
同時に書かれたときの順番付け行に鍵をかけて待たせる
途中で落ちたときの巻き戻しトランザクション
変な値が入らないようにする型と制約
大量の行から目的の行を探すインデックス
誰がどこまで見てよいか権限

3 / 3

ファイルではなくデータベースを使う理由

3

SQL入門:データベース操作のきほん

1つの表に全部書いてみる

注文を記録する表に、ついでに顧客名とメールも書いておけば、その表を見るだけで済みます。実際に書いてみると、同じ人が2回目の注文をした時点で困りごとが出てきます。

同じメールが2行に書かれています。3回目、4回目と注文が増えたらどうなるかを、次の枚で見てください。

田中さんが 2 回注文すると、表はこうなります。

注文ID 顧客名 メール 金額 1001 田中 tanaka@x.com 2500 1003 田中 tanaka@x.com 1300

1 / 4

SQL入門:データベース操作のきほん

1つの表に詰め込むと何が起きるか

トグルを入れて、同じメールが何か所に出るかを数えてください。

  • 混ぜたままだと、メールを直すのに注文の行数だけ直すことになる
  • 1行でも直し忘れると、同じ人なのに違うメールが記録として残る
  • 分けておけば直す場所は1か所。注文の側には顧客IDだけが残る
1つの表に詰め込むと何が起きるか

2 / 4

考えてみよう外しても進めます

顧客の表と注文の表を分けたあと、注文の 顧客ID に customers に存在しない番号を書いたらどうなると思いますか。

選ぶと、この枚の中で答えと理由を確かめられます。

3 / 4

SQL入門:データベース操作のきほん

分けた表をつなぐ2つの列

orders の 顧客ID を動かして、矢印が customers のどの行に着くかを見てください。

  • 主キーは、その表の中で1行を一意に指す列。customers.顧客ID がそれ
  • 外部キーは、別の表の主キーを指す列。orders.顧客ID がそれ
  • 99 のように一致する主キーが無いと、矢印は宙に浮いたまま着地しない。この2つをたどって表をつなぎ直すのが、あとで出てくる JOIN
外部キーは別の表の主キーを指す

4 / 4

なぜ表を分けて持つのか

4

データベースの仕組み

データベースは、こういう表の形でデータを持っています。この表そのものをテーブルと呼び、縦の列をカラム、横の行をレコードと呼びます。

products

商品ID商品名価格
10001商品A2500
10002商品B1000
10003商品C1300

縦に見れば商品IDだけが並び、横に見れば商品1件ぶんがまとまっています。

データベースが持つ表は1枚だけではありません。顧客の表、注文の表と、用途ごとに何枚も抱えています。

1 / 5

SQL入門:データベース操作のきほん

表のどこを何と呼ぶか

ボタンを押して、表のどこを指す言葉なのかを見てください。

  • 縦の並びが列。商品ID なら商品ID だけ、価格なら価格だけが入る
  • 横の並びが行。商品1件ぶんの情報がここにまとまっている
  • この表そのものがテーブル。データベースは表を何枚も持っている
行と列

2 / 5

SQL入門:データベース操作のきほん

同じものに呼び方が2つある

現場では日本語と英語が混ざって飛んできます。指しているものは同じなので、対応だけ先に押さえておくと、あとの話が全部読めるようになります。

SQL は結局、この表から行を選び、列を選ぶだけの言葉です。

現場で聞く言い方同じものを指す言葉
テーブル表 / relation
カラム / column / 項目
レコード / row / 1件
セル1行1列が交わったところの値

3 / 5

列には型が決まっている

表を作るときに、列ごとに「ここには何が入るか」を先に宣言します。決めておくと、価格の列に文字を入れようとした時点で DBMS が断ってくれます。

CREATE TABLE products (
products表の名前
id INT,
name VARCHAR(50),
name VARCHAR(50)列の名前と型
price INT
)

products

idnameprice
10001商品A2500
10002商品B1000
10003商品C1300

宣言した3つの列に沿って、行が積み上がっていきます。

囲った1行が1レコード。商品C という1件ぶんの情報が横一列に並んでいます。

4 / 5

考えてみよう外しても進めます

products の表から「価格が 2000 円以上の商品」を出したいとき、選んでいるのは行と列のどちらですか。

選ぶと、この枚の中で答えと理由を確かめられます。

5 / 5

テーブル・行・列の基本

5
このコースのスライドをすべて見る

この知識が出る資格

ここで学ぶ内容は、次の試験でも問われます

あわせて学びたい

同時に進めると、理解が早くなる組み合わせです

人気のコース

いま多くの方が取り組んでいるコースです

エンジニアキャリアの歩き方

エンジニアキャリアの歩き方

フロントエンド、バックエンド、フルスタック、インフラ、AI/ML などエンジニアの主要キャリアパスと、各分野で求められるスキルセットや年収レンジを学べる無料コースです。これからエンジニア転職を考えている方や、自分の方向性を整理したい現役エンジニアを対象としています。約 5 時間 (1 日 30 分 × 10 日) で 30 レッスンを修了でき、修了後は自分に合った進路を見極めて学習計画を立てられるようになります。

30レッスン
プログラミング学習のはじめ方

プログラミング学習のはじめ方

プログラミング学習の進め方、言語の選び方、環境構築、つまずきやすいポイントの乗り越え方を、最短ルートで整理した無料の導入コースです。これから学習を始めたい完全初学者や、独学が続かず行き詰まっている方を対象としています。約 1 時間 (1 日 30 分 × 2 日) で 5 レッスンを修了でき、修了後は迷わず自分に合った学習ロードマップを描いて走り出せるようになります。

5レッスン
はじめての生成AI

はじめての生成AI

ChatGPT、Claude、Gemini など主要な生成 AI の仕組みと使い分け、ハルシネーション対策、業務活用シナリオを手を動かして学べる無料コースです。AI 初学者や、業務効率化を進めたいビジネスパーソンを対象に、技術背景がなくても進められる構成です。約 19 時間 (1 日 30 分 × 38 日) で 76 レッスンを修了でき、修了後は AI を使った業務自動化や情報整理を自分で設計できるようになります。

76レッスン
AIへの指示の出し方:プロンプト入門

AIへの指示の出し方:プロンプト入門

Chain of Thought、Few-shot、ロール指示、構造化出力、制約条件の設計など、生成 AI から狙った成果を引き出すプロンプト技法を体系的に学べるコースです。ChatGPT や Claude を業務で活用したいビジネスパーソンや AI エンジニアを対象としています。約 7 時間 (1 日 30 分 × 14 日) で 26 レッスンを修了でき、修了後は要件定義から評価まで再現性のあるプロンプトを自分で組めるようになります。

26レッスン

次に進むコース