Ceeds Academy教材アプリ教材・症状語・タグで検索
索引グラフ試す
プログラミング言語▸SQL

SQL: データ取得(SELECT / WHERE / ORDER BY)

hands-on所要 25分最新草稿
前提: DB: リレーショナルDBの基礎(テーブル・主キー・リレーション)→次: SQL: テーブル結合(JOIN)
意味グラフ(この教材と内容的に近い教材・1ネスト)
例え(Analogies)
SELECT=注文書

SELECTは「この列を、この表から、この条件で、この順で出して」という注文書。欲しいデータだけを正確に取り出す。

概要

📍 programming-languages ▸ SQL ▸ データ取得 | 種別: hands-on | facts_as_of 2026-06(PostgreSQL 18 / SQLite)

公式ドキュメント — hands-on

🎞 スライド

SQL = 表からデータを取り出す

4つの部品の組み合わせ

部品(テキスト図)

SELECT 列 ─ 何を
FROM 表 ─ どこから
WHERE 条件 ─ どの行だけ
ORDER BY ─ どんな並びで
LIMIT 件数 ─ 何件まで

読む順 ≠ 書く順

書く: SELECT→FROM→WHERE…/実行: FROM→WHERE→SELECT…

—
出典(sources)

PostgreSQL 18 docs (SELECT) ; SQL標準 ; 2026-06確認

確認問題(Review-Questions)
users表から age が20以上の name を取り出すSQLは?コード
基礎公式
解答・解説▾ 開く

SELECT name FROM users WHERE age >= 20;

ある列がNULLかどうかを判定するには?(= ではなぜダメか)記述
基礎公式
解答・解説▾ 開く

IS NULL / IS NOT NULL を使う。NULLは「未知」なので = や != では一致判定できない。

目次
例え概要公式ドキュメント出典確認問題
鮮度
最新
更新: 2026-06-15
次回棚卸し: 2027-06-15
周期: 12か月
版: SQL (PostgreSQL 18 / SQLite)

概要

SQL はテーブルから必要な行・列を取り出す言語。SELECT(列) FROM(表) WHERE(条件) ORDER BY(並び順) を組み合わせて「何を・どこから・どの行・どの順で」取るかを指定する。

公式ドキュメント準拠(PostgreSQL 18 / SQLite)

SELECT id, name FROM users;
SELECT * FROM users WHERE age >= 20;
SELECT name FROM users WHERE city = 'Tokyo' ORDER BY age DESC;
SELECT name FROM users LIMIT 10;
  • SELECT=列、FROM=表、WHERE=絞り込み、ORDER BY=並び、LIMIT=件数。
  • 文字列は ' '(シングルクォート)で囲む。

出典: PostgreSQL: SELECT

🧭 誤解訂正集

よくある誤解 正しい理解
= NULL で NULL を探せる NULL は = で比べない(IS NULL を使う)
SELECT * で十分 必要な列だけ選ぶ方が速く・壊れにくい
並び順は勝手に決まる ORDER BY を書かない限り順序は保証されない

📖 用語

  • SELECT / FROM … 取り出す列/対象の表を指定する句。
  • WHERE … 行を条件で絞り込む句。
  • ORDER BY … 結果の並び順を指定(ASC 昇順 / DESC 降順)。
  • LIMIT … 取得件数の上限。
  • NULL … 「値が無い」を表す特別な状態(IS NULL で判定)。

✅ 確認の目安(can-do)

SELECT / WHERE / ORDER BY / LIMIT を組み合わせて目的の行・列を取得でき、「なぜ NULL は = で比べられないか・いつ ORDER BY **が要るか」**を説明できる。

⚠️ エラー復旧集

症状 原因 復旧
column "x" does not exist 列名/スペル 列名を確認(大小文字/引用符)
= NULL で一致しない NULL は = で比べない IS NULL / IS NOT NULL