データベース設計 / 約15分
SELECTの基本: 絞り込み・並び替え・上限
なぜこれを学ぶか
SQLの仕事の8割は「必要な行だけを、必要な順番で取り出す」ことです。WHERE・ORDER BY・LIMIT の3つだけで、実務のクエリの土台が組めます。
SELECT は「どの列を取るか」、FROM は「どのテーブルから取るか」、WHERE は「どの行に絞るか」を指定します: SELECT name, price FROM products WHERE price >= 1000。
ORDER BY で並び替えます: ORDER BY price DESC は価格の大きい順(DESC)。小さい順は ASC で、省略すると ASC になります。
LIMIT で件数の上限を決めます: LIMIT 3 で先頭3件だけ。「ランキング上位3件」のような要件は ORDER BY + LIMIT の組み合わせです。
書く順番は決まっています: SELECT → FROM → WHERE → ORDER BY → LIMIT。この順番を入れ替えると構文エラーになる、初学者が最初にハマるポイントです。
条件の組み合わせは AND / OR が使えます: WHERE price >= 1000 AND stock > 0。文字列の比較はシングルクォートで囲みます: WHERE category = 'food'。
重要ポイント
- SELECT(列)→ FROM(表)→ WHERE(行)の順で考える
- 並び替えは ORDER BY ... DESC/ASC、上位N件は LIMIT
- 句の書く順番は固定(SELECT→FROM→WHERE→ORDER BY→LIMIT)
理解度チェック
選ぶと即座に解説が表示されます。
「価格1000円以上の商品を、価格の高い順に3件」取得したい。正しい句の順番は?
ヒントを見る
SQLの句には決まった書き順があります。「どの表から → どの行に絞って → どう並べて → 何件取るか」の流れです。
SQL演習ブラウザ内SQLite
はじめてのSQL演習です。products テーブルから「価格が1000円以上の商品」を、価格の高い順に3件まで取得してください。取得する列は商品名(name)と価格(price)の2列です。
テーブル定義と初期データを見る
CREATE TABLE products (id INTEGER PRIMARY KEY, name TEXT, category TEXT, price INTEGER, stock INTEGER);INSERT INTO products VALUES
(1, 'りんご', 'food', 150, 50),
(2, 'ノートPC', 'electronics', 89800, 5),
(3, 'マウス', 'electronics', 2980, 30),
(4, 'コーヒー豆', 'food', 1200, 20),
(5, 'キーボード', 'electronics', 5500, 15),
(6, 'お茶', 'food', 800, 40),
(7, 'モニター', 'electronics', 24800, 8);スキルセルフチェック
このレッスンの内容をどの程度理解できましたか?