SELECT文の基本。全件取得と列を指定した取得を練習します。
データベースからデータを取得するときに使うのが SELECT 文です。
SELECT * FROM テーブル名;
* は「全ての列」を意味します。
SELECT 列名1, 列名2 FROM テーブル名;
今回使うテーブルは products(商品)と customers(顧客)です。
products テーブル
| 列名 | 型 | 説明 |
|---|---|---|
| id | INTEGER | 商品ID |
| name | TEXT | 商品名 |
| category | TEXT | カテゴリ |
| price | INTEGER | 価格(円) |
| stock | INTEGER | 在庫数 |
customers テーブル
| 列名 | 型 | 説明 |
|---|---|---|
| id | INTEGER | 顧客ID |
| name | TEXT | 氏名 |
| city | TEXT | 都市 |
| age | INTEGER | 年齢 |
SELECT * は手軽ですが、実務では取りたい列だけを書くのが基本です。
- 転送するデータが減るので速い
- 後からテーブルに列が増えても、結果の形が変わらない
- クエリを読んだ人に「何を使っているか」が伝わる
AS を使うと、結果の列名を読みやすい名前に変えられます。
SELECT name AS 商品名, price AS 価格 FROM products;
同じ値が何度も出てくる列から、種類だけを知りたいときに使います。
SELECT DISTINCT category FROM products;
- 末尾の ; を忘れる — SQL は ; で 1 文の終わりを表します。
- 列名を ' で囲ってしまう — ' は文字列用です。列名にはそのままか、必要なら " を使います。
- no such column と出る — 列名のつづり違いです。上の表で列名を確認してください。
次のレッスン: WHERE — 条件でデータを絞る