本文へスキップ
BecomeCoder

SQL データ操作 (DML)コース · 第1章 データを取り出す · レッスン1

SELECT ― 列を取り出す

ブラウザで完結

導入

SQL(Structured Query Language)は、データベースに「こういうデータが欲しい」と問い合わせるための言語です。まず最初に覚えるのは、データを取り出す SELECT 文。プログラミングでいう「表示」にあたる、もっとも基本の操作です。

説明

いちばん単純な形は「あるテーブルの全部の列・全部の行が欲しい」という指定です。*(アスタリスク)は「すべての列」を意味します。

SELECT * FROM users;

SELECTFROM は、こういう役割分担になっています。

flowchart LR
    S["SELECT *<br/>「どの列を」取り出すか"] --> Q["問い合わせ"]
    F["FROM users<br/>「どの表から」取り出すか"] --> Q
    Q --> R["結果の表<br/>(users の全列・全行)"]

FROM users が「users テーブルから」、SELECT * が「すべての列を取り出す」という意味です。末尾の ;(セミコロン)は文の区切りです。

必要な列だけが欲しいときは、* の代わりに列名をカンマで並べます。列を選ぶこの操作を 射影(projection) と呼びます(=縦方向に列を選ぶ)。

SELECT name, age FROM users;

実務では SELECT * より「必要な列だけ」を挙げるほうが好まれます。読み手に意図が伝わり、余計なデータを運ばないぶん速いからです。

やってみよう

下の実行環境で、まず SELECT * FROM users; をそのまま実行して、会員が表示されることを確かめましょう。次に、products テーブルに対して同じことをしてみます。

SELECT * FROM products;
ヒント1を見る

FROM の後ろのテーブル名を products に変えるだけです。SELECT * FROM products;

演習

products テーブルから、商品名(name)と価格(price)だけを取り出してください。

ヒント1を見る

欲しい列名をカンマ区切りで並べます。SELECT name, price FROM products;

実際に動かしてみよう

下のエディタにクエリを書いて「実行」を押すと、ブラウザ内のSQLiteで結果が表示されます。本文の例をそのまま試したり、書き換えたりしてみましょう。

SQL — ブラウザ内で実行(SQLite)

ブラウザ内でSQLを動かす環境(SQLite)を読み込みます(初回のみ一瞬)。
スクロールして表示された時点でも自動で読み込まれます。