复习SELECT查询语法
SELECT column, another_column, …
FROM mytable
WHERE condition(s)
ORDER BY column ASC/DESC
LIMIT num_limit OFFSET num_offset;
练习
正如实际工作中,最大的变化不是SQL语法,而是实际数据的表结构和数据。在本节练习中,我们会放出一个新的表,简单介绍一下这个表,这个表存储了北美一些城市的人口信息和经纬度地理位置信息, 信息.
小贴士
在这个数据表中,你需要熟悉一下latitudes(纬度)和 longitudes(经度)的概念, latitudes在赤道以北是正数,以南是负数;longitudes在子午线东部是正数,以西是负数, 在查询中需要注意 经纬度和东西南北方向的对应关系。
试一下按Task任务中的要求,来组合应用之前学到的查询知识. 如果你成功的解决了这些查询问题,那么就可以继续学习 多表数据查询这个主题了。
Table(表): North_american_cities
City | Country | Population | Latitude | Longitude |
Guadalajara | Mexico | 1500800 | 20.659699 | -103.349609 |
Toronto | Canada | 2795060 | 43.653226 | -79.383184 |
Houston | United States | 2195914 | 29.760427 | -95.369803 |
New York | United States | 8405837 | 40.712784 | -74.005941 |
Philadelphia | United States | 1553165 | 39.952584 | -75.165222 |
Havana | Cuba | 2106146 | 23.05407 | -82.345189 |
Mexico City | Mexico | 8555500 | 19.432608 | -99.133208 |
Phoenix | United States | 1513367 | 33.448377 | -112.074037 |
Los Angeles | United States | 3884307 | 34.052234 | -118.243685 |
Ecatepec de Morelos | Mexico | 1742000 | 19.601841 | -99.050674 |
Montreal | Canada | 1717767 | 45.501689 | -73.567256 |
Chicago | United States | 2718782 | 41.878114 | -87.629798 |
练习 do it — 请完成如下任务
1.列出所有加拿大Canadian
城市的信息(包括所有字段)
SELECT * FROM north_american_cities
where Country like "Canada"
2.列出所有美国United States
的城市按纬度从北到南排序(包括所有字段)
SELECT * FROM north_american_cities
where Country like "United States"
order by Latitude desc
3.列出所有在Chicago
西部的城市,从西到东排序(包括所有字段)
SELECT * FROM north_american_cities
where Longitude <-88
order by Longitude asc
4.用人口数population
排序,列出墨西哥Mexico
最大的2个城市(包括所有字段)
SELECT * FROM north_american_cities
where Country like "Mexico"
order by Population desc
limit 2
5.列出美国United States
人口3-4位的两个城市和他们的人口(包括所有字段)
SELECT * FROM north_american_cities
where Country like "United States"
order by Population desc
limit 2 offset 2
6.北美所有城市,请按国家名字母序从A-Z再按人口从多到少排列看下前10位的城市(包括所有字段)
SELECT * FROM north_american_cities
order by Country,Population desc
limit 10