SELECT の使い方
表からデータを取り出す
書き方
SELECT 列, 列 FROM 表; SELECT * FROM 表;
* はすべての列。列どうしの計算や、AS で列に別名をつけることもできます。文の最後は ; で終わります。
よく使うオプション
| オプション | 意味 |
|---|---|
* | すべての列を、表の順番で出す |
列, 列 | 出したい列だけを、書いた順に出す |
式 AS 別名 | 計算した値や列に、見出しの名前をつける |
FROM 表 | どの表から取り出すかを決める |
例
SELECT * FROM departments; id | name
----+--------
1 | 営業
2 | 開発
3 | 総務
(3 rows)departments 表のすべての行と列を出します。まず中身をざっと見たいときの形です。
SELECT name, salary FROM employees;
社員の名前と給与の 2 列だけを出します。要る列だけを書くと、結果が読みやすくなります。
SELECT name, salary * 12 AS annual FROM employees; name | annual
------+---------
佐藤 | 3600000
鈴木 | 4200000
(2 rows)月の給与を 12 倍して、annual という見出しで出します。表の値は変わらず、出し方だけが変わります。
SELECT 1 + 2 AS answer; answer
--------
3
(1 row)PostgreSQL では FROM を書かずに計算だけもできます。値を試しに確かめるときに便利です。
よくある間違い・注意
- Oracle では FROM を省けないので、計算だけのときは SELECT 1 + 2 FROM dual; と書きます。
- SELECT * は列が増えると結果も変わります。プログラムから使うときは、列の名前を書くほうが安全です。
- 別名に空白や日本語を使うときは "年収" のように二重引用符で囲みます(' で囲むと文字列になります)。
実際に打って練習する
SQL コースの Lv1「はじめての SELECT」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。
Lv1〜3 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。