SELECT — データを取得する

初級53

SELECT文の基本。全件取得と列を指定した取得を練習します。

SELECT文とは

データベースからデータを取得するときに使うのが SELECT 文です。

SELECT * FROM テーブル名;

* は「全ての列」を意味します。

列を指定して取得

SELECT 列名1, 列名2 FROM テーブル名;

練習用テーブル

今回使うテーブルは products(商品)と customers(顧客)です。

products テーブル

列名説明
idINTEGER商品ID
nameTEXT商品名
categoryTEXTカテゴリ
priceINTEGER価格(円)
stockINTEGER在庫数

customers テーブル

列名説明
idINTEGER顧客ID
nameTEXT氏名
cityTEXT都市
ageINTEGER年齢

列名を指定する意味

SELECT * は手軽ですが、実務では取りたい列だけを書くのが基本です。

- 転送するデータが減るので速い

- 後からテーブルに列が増えても、結果の形が変わらない

- クエリを読んだ人に「何を使っているか」が伝わる

結果に別名を付ける (AS)

AS を使うと、結果の列名を読みやすい名前に変えられます。

SELECT name AS 商品名, price AS 価格 FROM products;

重複を除く (DISTINCT)

同じ値が何度も出てくる列から、種類だけを知りたいときに使います。

SELECT DISTINCT category FROM products;

よくあるつまずき

- 末尾の ; を忘れる — SQL は ; で 1 文の終わりを表します。

- 列名を ' で囲ってしまう' は文字列用です。列名にはそのままか、必要なら " を使います。

- no such column と出る — 列名のつづり違いです。上の表で列名を確認してください。

次のレッスン: WHERE — 条件でデータを絞る

データベースを初期化中...
SQL エディタCtrl+Enter で実行
SQL を入力して実行してください
練習問題 — 0/3 完了 (0/35pt)
productsテーブルの全データを取得してください。
10pt
productsテーブルから name と price の列だけ取得してください。
15pt
customersテーブルの全データを取得してください。
10pt