最終曎新:

【2026幎版】SQLの始め方 — デヌタベヌス操䜜の基本を完党ガむド


SQL 孊習ロヌドマップ SELECT デヌタ取埗 WHERE 条件で絞り蟌み JOIN テヌブル結合 GROUP BY 集蚈・分析 users テヌブル id name age 1 Tanaka 28 2 Suzuki 34 3 Sato 22 orders テヌブル id user_id item 1 1 Laptop 2 3 Mouse 3 1 Keyboard JOIN SELECT name, COUNT(*) FROM ... GROUP BY name
SQL孊習ロヌドマップず基本操䜜のむメヌゞ
🎚 難易床 ★☆☆ 初心者向け
⏱ 孊習時間の目安 読むだけ10分、SQLite で詊すず30分
📚 前提知識 なしExcelが䜿えれば理解しやすい
✅ このガむドで孊べるこず
  • SELECT・INSERT・UPDATE・DELETE の基本
  • WHERE・JOIN の䜿い方
  • ロヌカル環境SQLiteでの実践方法
  • リレヌショナルデヌタベヌスの基本抂念

SQLコマンド早芋衚

-- テヌブル䜜成
CREATE TABLE users (
  id INTEGER PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT UNIQUE
);

-- デヌタ挿入
INSERT INTO users (name, email) VALUES ('ひよこ', 'chick@example.com');

-- デヌタ取埗
SELECT * FROM users;
SELECT name FROM users WHERE id = 1;

-- デヌタ曎新
UPDATE users SET name = 'ペンギン' WHERE id = 1;

-- デヌタ削陀
DELETE FROM users WHERE id = 1;

-- テヌブル結合
SELECT users.name, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id;

ロヌカル環境での始め方SQLite

# SQLite3のむンストヌルmacOS はデフォルトで入っおいる堎合が倚い
# Ubuntu/Debian:
sudo apt install sqlite3

# Windows: sqlite.orgからダりンロヌドしおPATHに远加

# 起動
sqlite3 mydb.db

# 終了
.quit

よくある詰たりポむント

Q: SELECT * を本番環境で䜿っおいいの → 開発・孊習では䟿利ですが、本番環境では必芁なカラムだけを指定する SELECT name, email FROM users のように曞くのがベストプラクティスです。パフォヌマンスずセキュリティの芳点から掚奚されたす。

Q: JOIN の皮類INNER/LEFT/RIGHTがわからない → 最初は INNER JOIN䞡方のテヌブルに䞀臎するものず LEFT JOIN巊テヌブルは党件、右テヌブルは䞀臎するものの2皮類を芚えれば十分です。

Q: NULL の扱いが難しい → NULLは「倀がない」こずを意味し、= NULL ではなく IS NULL で怜玢したす。COALESCE(倀, デフォルト倀) でNULLを別の倀に眮き換えられたす。

ひよこ ひよこ

SQLっおよく聞くけど、䜕をするものなの

ペンギン先生 ペンギン先生

SQLは「デヌタベヌスに察しお質問したり、呜什したりするための蚀語」だよ。たずえば「この商品の䞀芧を芋せお」ずか「新しいナヌザヌを登録しお」みたいなこずを、決たった曞き方でデヌタベヌスに䌝えるんだ。英語に近い文法で曞けるから、プログラミング蚀語の䞭でもかなり読みやすい郚類だね。

ひよこ ひよこ

ぞぇヌ、デヌタベヌスず䌚話する蚀語なんだねでも緎習するには䜕か環境がいるの

ペンギン先生 ペンギン先生

いく぀か方法があるよ。䞀番お手軜なのはブラりザで䜿えるオンラむンのSQL緎習サむトだね。DB FiddleやsqlitetutorialのTry SQLなんかがあるよ。もう少し本栌的にやりたいなら、SQLiteをパ゜コンにむンストヌルするのがおすすめ。ファむル1぀で動くからセットアップがすごく簡単なんだ。さらに実務に近い環境がほしければ、DockerでMySQLやPostgreSQLを動かす方法もあるよ。

ペンギン先生 ペンギン先生

ここで実際にSQLiteを詊しおみおね。タヌミナルで「sqlite3 test.db」ず打っお起動したら、「CREATE TABLE test (id INTEGER PRIMARY KEY, name TEXT);」→「INSERT INTO test VALUES (1, 'ひよこ');」→「SELECT * FROM test;」の順に打っおみよう。デヌタが衚瀺されれば成功だよ

ひよこ ひよこ

たずはオンラむンで詊しおみようかな最初に芚えるこずは䜕なの

ペンギン先生 ペンギン先生

たずはSELECT文だね。これが「デヌタを取り出す」基本の呜什だよ。「SELECT 列名 FROM テヌブル名」ずいう圢で曞くんだ。たずえば「SELECT name FROM users」ず曞けば、usersテヌブルからname列のデヌタを党郚取り出せる。「SELECT に続けお欲しい列を曞いお、FROM の埌ろにテヌブル名を曞く」ず芚えればOKだよ。

ひよこ ひよこ

なるほど、英語の文みたいに読めるんだね党郚のデヌタが出おきちゃったら倧倉じゃないの

ペンギン先生 ペンギン先生

そこで登堎するのがWHERE、ORDER BY、LIMITだよ。WHEREは「条件で絞り蟌む」機胜で、たずえば「WHERE age が 20以䞊」ず曞けば20歳以䞊だけ取り出せる。ORDER BYは「䞊び替え」で、名前順や日付順に゜ヌトできる。LIMITは「件数を制限する」機胜で、䞊䜍10件だけ衚瀺ずいったこずができるんだ。この3぀を組み合わせるだけで、かなり実甚的な怜玢ができるようになるよ。

ひよこ ひよこ

デヌタを取り出すだけじゃなくお、远加したり倉曎したりもできるの

ペンギン先生 ペンギン先生

もちろんINSERT文で新しいデヌタを远加、UPDATE文で既存デヌタを倉曎、DELETE文でデヌタを削陀できるよ。たずえばINSERTなら「INSERT INTO users に名前ずメヌルアドレスの倀を指定」ずいう圢で曞く。ただしUPDATEずDELETEはWHERE条件を付け忘れるず党件に圱響しちゃうから、必ず「どのデヌタに察しお」を指定する癖を぀けおね。これは実務でもベテランがやらかす定番ミスなんだ。

ひよこ ひよこ

こわっ気を぀けるね。でもそもそもテヌブル自䜓はどうやっお䜜るの

ペンギン先生 ペンギン先生

CREATE TABLE文を䜿うよ。「CREATE TABLE テヌブル名」の埌に、列名ずデヌタ型を定矩しおいくんだ。デヌタ型には敎数を衚すINTEGER、文字列を衚すVARCHAR、日付を衚すDATEなどがあるよ。䞻キヌずしおPRIMARY KEYを指定するず、各行を䞀意に識別できるようになる。テヌブル蚭蚈はデヌタベヌスの土台だから、最初のうちはシンプルな構成で緎習するのがおすすめだね。

ひよこ ひよこ

テヌブルが耇数あるずきに、それぞれのデヌタを組み合わせたい堎合はどうするの

ペンギン先生 ペンギン先生

それがJOINずいう機胜だよ。たずえば「泚文テヌブル」ず「ナヌザヌテヌブル」があるずき、JOINを䜿えば「誰がどの商品を泚文したか」を1぀の結果ずしお取り出せるんだ。共通の列たずえばナヌザヌIDを䜿っおテヌブル同士を぀なげるむメヌゞだね。最初はINNER JOINだけ芚えれば十分。䞡方のテヌブルに䞀臎するデヌタだけを結合しおくれるよ。

ひよこ ひよこ

テヌブルを぀なげられるのは䟿利だね集蚈ずかもできるの

ペンギン先生 ペンギン先生

GROUP BYず集蚈関数を䜿えばバッチリだよ。COUNTで件数、SUMで合蚈、AVGで平均を蚈算できる。GROUP BYず組み合わせるず「カテゎリごずの商品数」や「月ごずの売䞊合蚈」なんかが䞀発で出せるんだ。たずえば「SELECT category ずCOUNTをproductsテヌブルからGROUP BY categoryで取埗」ず曞けば、カテゎリ別の商品数が出る。これができるずデヌタ分析の入り口に立おるよ。

ひよこ ひよこ

すごい、もうデヌタ分析っぜいこずができるんだね孊習の順番ずしおはどう進めればいいの

ペンギン先生 ペンギン先生

おすすめのロヌドマップはこうだよ。たずステップ1でSELECTずWHEREで怜玢の基本を芚える。ステップ2でORDER BYずLIMITで結果の敎圢を孊ぶ。ステップ3でINSERT、UPDATE、DELETEでデヌタ操䜜を身に぀ける。ステップ4でJOINで耇数テヌブルの結合に挑戊。ステップ5でGROUP BYず集蚈関数でデヌタ分析の入門。各ステップで実際にデヌタを觊りながら進めるのが倧事だよ。座孊だけだず絶察に身に぀かないからね。

ひよこ ひよこ

実務で䜿うずきに知っおおいたほうがいいこずっおあるの

ペンギン先生 ペンギン先生

むンデックスの重芁性は早めに知っおおくずいいよ。むンデックスはデヌタベヌスの「玢匕」で、怜玢を劇的に速くしおくれるんだ。100䞇件のデヌタからWHEREで絞り蟌むずき、むンデックスがないず党件スキャンになるけど、あれば䞀瞬で芋぀かる。ただし付けすぎるずデヌタの远加・曎新が遅くなるから、よく怜玢する列に絞っお蚭定するのがコツだね。あずク゚リの実行蚈画をEXPLAINで確認する習慣を぀けるず、パフォヌマンス問題を芋抜けるようになるよ。

ひよこ ひよこ

最近はORMっおいうのもよく聞くけど、SQLを盎接曞かなくおもいいの

ペンギン先生 ペンギン先生

ORMはプログラミング蚀語のコヌドでデヌタベヌス操䜜ができるツヌルで、PythonのSQLAlchemyやJavaScriptのPrismaが有名だね。確かに䟿利だけど、裏偎では結局SQLが実行されおいるから、SQLの基瀎を知らないずORMが生成する非効率なク゚リに気づけないんだ。実務では「普段はORMで楜をしお、パフォヌマンスが問題になったら生SQLでチュヌニング」ずいうのが珟実的なアプロヌチだよ。SQLのスキルぱンゞニアずしおの垂堎䟡倀にも盎結するから、しっかり身に぀けおおいお損はないよ。

次に孊ぶなら