|
2.5. 查询一个表要从一个表中检索数据就是 查询 这个表. 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 )给查询施加条件.比如,下面的查询检索 旧金山的下雨天的天气∶ 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)
最后再提醒一下,你可以要求选出来的结果按照某种顺序排序, 并且消除重复的行输出.(我们在这里为了避免你混淆,特别声明 DISTINCT 和 ORDER BY 可以独立使用.) SELECT DISTINCT city FROM weather ORDER BY city;
city --------------- Hayward San Francisco (2 rows)
|