テーブルからデータを取り出すために、テーブルは問い合わせられます。 SQL SELECT 文がこのために使用されます。この文は選択リスト(返される列のリスト部分)とテーブルリスト(データを取り出すテーブルのリスト部分)、および、省略可能な条件(制限を指定する部分)に分けられます。例えば、weather の全ての行を取り出すには、以下を入力します。
SELECT * FROM weather;
(here * means "all columns") and the output should be:
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;
This should give:
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;
Result:
city | temp_lo | temp_hi | prcp | date ---------------+---------+---------+------+------------ San Francisco | 46 | 50 | 0.25 | 1994-11-27 (1 row)
最後の注意事項として、SELECT の結果をソートした形、または、重複行を除いた形で返すように指定することができます(以下の例は混乱を招くかもしれませんので、念のためですが、DISTINCT と ORDER BY は単体で使用することができます)。
SELECT DISTINCT city FROM weather ORDER BY city;
city --------------- Hayward San Francisco (2 rows)