導入
SQL(Structured Query Language)は、データベースに「こういうデータが欲しい」と問い合わせるための言語です。まず最初に覚えるのは、データを取り出す SELECT 文。プログラミングでいう「表示」にあたる、もっとも基本の操作です。
説明
いちばん単純な形は「あるテーブルの全部の列・全部の行が欲しい」という指定です。*(アスタリスク)は「すべての列」を意味します。
SELECT * FROM users;
SELECT と FROM は、こういう役割分担になっています。
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;