这里有张 World 表
如果一个国家的面积超过300万平方公里,或者人口超过2500万,那么这个国家就是大国家。
编写一个SQL查询,输出表中所有大国家的名称、人口和面积。
例如,根据上表,我们应该输出:
数据准备:
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
解释:
字段的值超过其可输入的范围了,就像int(10),但是导入的数据中有超出范围的,可以把字段的类型改一下,比如改成bigint(50)等等。
修改‘gdp’的定义类型:
select a.name,a.area,a.population from World a
where a.area >3000000 or a.population>25000000;
总结:
这个题简单的让人产生怀疑。。
网友评论