4.5. テーブルへの問い合わせ

weatherテーブルは通常の選択と射影で問い合わ せることができます。SQLSELECT文がこの問い合わせに使用されます。文はター ゲットリスト(復帰される列のリスト部分)と修飾子(制約を指定する部分) に分けられます。例えば、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 |
+--------------+---------+---------+------+------------+
ターゲットリスト部分において任意の式を指定することができます。たと えば、以下のようにすることができます。
SELECT city, (temp_hi+temp_lo)/2 AS temp_avg, date FROM weather;

任意のブーリアン演算子(AND, OR, NOT)はどんな問い合わせの修飾におい ても使用することができます。例えば、

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 |
+--------------+---------+---------+------+------------+

最後の注意として、セレクトでは並べ替え を行っ たり、重複する行を削除した値を返すことができます。

SELECT DISTINCT city
    FROM weather
    ORDER BY city;