データの検索(SELECT)

テーブルに格納されているデータを検索するにはSELECTコマンドを使用します。データベースを使用する最大のメリットは大量のデータの中から対象のデータを瞬時に検索できる点です。そのため、検索に使用するSELECTコマンドはSQLの中で最もよく使われるコマンドです。SELECT文をマスターすることはSQLをマスターすることにつながるといっても過言ではないでしょう。

SELECTコマンド

SELECTコマンドで必要なデータを検索し、取り出すことができます。また、そのことを「問い合わせ」あるいは「クエリ(query)」と呼ぶこともあります。

SELECTコマンドは構文が数多くあり、かなり複雑です。ここでは基本的な構文のみ見ていきます。

SELECTコマンドの基本構文
SELECT 列名, … FROM テーブル名;

SELECTコマンドには、SELECT句とFROM句という2つの句があります。
※句はSQL文を構成する要素であり、SELECTやFROMなどのキーワードから始まるフレーズのことです。

SELECT句には、テーブルから取り出したい列名を書き並べます。また、FROM句には、データを取り出すテーブル名を指定します。

では早速、Staffテーブルから前回登録したデータを取り出してみましょう。

testdb=# SELECT name FROM Staff;
    name
------------
 山田太郎
 佐藤隆
 斉藤達弘
 渡辺さつき
(4 行)

上記のように、全ての行のname列が表示されます。

すべての列を表示する

上記サンプルでは、出力したい列名を指定していましたが、すべての列を出力したいときには、すべての列を意味するアスタリスク(*)を使用できます。

testdb=# SELECT * FROM Staff;
  id  |    name    | age
------+------------+-----
 0001 | 山田太郎   |  26
 0002 | 佐藤隆     |  34
 0003 | 斉藤達弘   |  45
 0004 | 渡辺さつき |  28
(4 行)

上記のように、全ての行の全ての列が表示されます。
アスタリスクを使用した場合の注意点として、結果の列の並びを指定することはできなくなります。必ず、CREATE TABLEコマンドで定義した列の順番で表示されます。