这里有张 World 表
![](https://img.haomeiwen.com/i21398523/f203e0cf978b53b3.png)
如果一个国家的面积超过300万平方公里,或者人口超过2500万,那么这个国家就是大国家。
编写一个SQL查询,输出表中所有大国家的名称、人口和面积。
例如,根据上表,我们应该输出:
![](https://img.haomeiwen.com/i21398523/84b42941eee44751.png)
数据准备:
Create table If Not Exists World (name varchar(255), continent varchar(255), area int, population int, gdp bigint(50));
insert into World values ('Afghanistan', 'Asia', 652230, 25500100, 20343000000);
insert into World values ('Albania', 'Europe', '28748', '2831741', '12960000000');
insert into World values ('Algeria', 'Africa', '2381741', '37100000', '188681000000');
insert into World values ('Andorra', 'Europe', '468', '78115', '3712000000');
insert into World values ('Angola', 'Africa', '1246700', '20609294', '100990000000');
注意:
刚开始出现错误:
ERROR 1264 (22003): Out of range value for column 'gdp' at row 1
![](https://img.haomeiwen.com/i21398523/c9aa1f8ba86eb2a4.png)
解释:
字段的值超过其可输入的范围了,就像int(10),但是导入的数据中有超出范围的,可以把字段的类型改一下,比如改成bigint(50)等等。
修改‘gdp’的定义类型:
![](https://img.haomeiwen.com/i21398523/3e77bc35c72eafbd.png)
select a.name,a.area,a.population from World a
where a.area >3000000 or a.population>25000000;
![](https://img.haomeiwen.com/i21398523/7684c22b6738e8fd.png)
总结:
这个题简单的让人产生怀疑。。
网友评论