テーブルからデータを取り出すために、テーブルは問い合わせられます。 このためにSQLのSELECT文が使用されます。 この文は選択リスト(返される列のリスト部分)とテーブルリスト(データを取り出すテーブルのリスト部分)、および、省略可能な条件(制限を指定する部分)に分けることができます。 例えば、weatherの全ての行を取り出すには、以下を入力します。
SELECT * FROM weather;
(ここで*は"全ての列"を意味します。) 出力は、以下のようになります。
city | temp_lo | temp_hi | prcp | date ---------------+---------+---------+------+------------ San Francisco | 46 | 50 | 0.25 | 1994-11-27 San Francisco | 43 | 57 | 0 | 1994-11-29 Hayward | 37 | 54 | | 1994-11-29 (3 rows)
選択リストには任意の式を指定することができます。 例えば、以下を行うことができます。
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;
この結果は次のようになります。
city | temp_avg | date ---------------+----------+------------ San Francisco | 48 | 1994-11-27 San Francisco | 50 | 1994-11-29 Hayward | 45 | 1994-11-29 (3 rows)
AS句を使用した出力列の再ラベル付けの部分に注意して下さい。 (省略することもできます。)
任意の論理演算子(AND、OR、NOT)を問い合わせの条件に使用することができます。 例えば以下は、San Franciscoの雨天時の気象データを取り出します。
SELECT * FROM weather WHERE city = 'San Francisco' AND prcp > 0.0;
結果は次のようになります。
city | temp_lo | temp_hi | prcp | date ---------------+---------+---------+------+------------ San Francisco | 46 | 50 | 0.25 | 1994-11-27 (1 row)
最後の注意事項として、問い合わせの結果をソートした形、または、重複行を除いた形で返すように指定することができます。
SELECT DISTINCT city FROM weather ORDER BY city;
city --------------- Hayward San Francisco (2 rows)
もちろん、DISTINCTおよびORDER BYは単体でも使用することができます。