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 は、登録不要・無料で遊べます(それより先はブロンズ以上のプランで遊べます)。

SQL 構文一覧(使い方と例)へ戻る