sql常用语法练习
表名word
name | continent | area | population | gdp |
---|---|---|---|---|
Afghanistan | Asia | 652230 | 25500100 | 20343000000 |
Albania | Europe | 28748 | 2831741 | 12960000000 |
Algeria | Africa | 2381741 | 37100000 | 188681000000 |
Andorra | Europe | 468 | 78115 | 3712000000 |
Angola | Africa | 1246700 | 20609294 | 100990000000 |
.... |
基础练习
基础查询
1、阅读关于这张表的注释。观察运行此SQL命令的结果,以显示所有国家的名称、大陆和人口
select
name AS '国家',
continent AS '大陆',
population AS '人口'
from world
2、如何使用WHERE筛选记录。显示人口至少为2亿的国家的名称。2亿等于2亿,有8个零
SELECT
name AS '国家'
FROM world
WHERE
population >= 200000000
计算
1、请给出人口至少为2亿的国家的名称和人均GDP。
帮助:如何计算人均GDP
人均GDP是GDP除以人口GDP/人口
select name,
gdp/population AS GDP
from world
where population >= 200000000
2、显示“南美洲”大陆国家的名称和人口(以百万计)。将人口除以1000000,得到以百万为单位的人口。
select
name,
population/1000000
from world
where continent ='South America'
关键词查询
1、显示法国、德国、意大利的名称和人口
select
name,
population
from world
where name in('France','Germany','Italy')
2、显示名称中包含单词“United”的国家
select
name
from world
where name like '%United%'
3、做大有两种方式:一个国家的面积超过300万平方公里,或者人口超过2.5亿,那么它就是大国家。
显示按面积或按人口划分的大国。显示名称、人口和面积。
select
name,
population,
area
from world
where population >250000000 or area >3000000
4、显示面积大(超过300万)或人口大(超过2.5亿)的国家,但不能同时显示这两个国家。显示名称、人口和面积。
例:澳大利亚面积大,但人口少,应该包括在内。
印尼人口众多,但面积很小,应该包括在内。
中国人口多,面积大,应该把它排除在外。
联合王国人口少,面积小,应该将其排除在外
select
name,
population,
area
from world
where
(area<=3000000 and population>250000000) or
(area>3000000 and population<=250000000)
函数
1、显示“南美洲”大陆国家的名称和人口(以百万计)以及GDP(以十亿计)。使用ROUND函数将值显示为小数点后两位。
对于美洲,以百万计的人口和以十亿计的GDP都显示在小数点后2位。显示数百万和数十亿
SELECT
name ,
round(population/1000000,2) AS '人口',
round(gdp/1000000000,2) AS 'GDP'
FROM world
WHERE continent = 'South America';
2、显示GDP至少为1万亿(1000000000000;即12个零)的国家的名称和人均GDP。将此值四舍五入到最接近的1000。 显示万亿美元国家的人均GDP,精确到1000美元。
SELECT
name,
round(gdp/(population*1000),0)*1000 as 'per-capita GDP'
FROM world
WHERE gdp >= 1000000000000;
3、希腊的首都是雅典。字符串“Greece”和“Athens”中的每一个都有6个字符
显示国家和首都字符数相同的数据。显示出“国家”、“首都”两个字段
可以使用LENGTH函数来查找字符串中的字符数
select
name AS '国家',
capital AS '首都'
from world
where LENGTH(name)=LENGTH(capital)
4、瑞典的首都是斯德哥尔摩。这两个单词都以字母“S”开头。
显示国家、首都第一个大写字母一样的数据,不要包括名称和首都是同一个单词的国家。 显示字段“国家”“首都”。 可以使用函数LEFT来隔离第一个字符。
使用<>作为NOT EQUALS运算符。
SELECT
name,
capital
FROM world
where
LEFT(name,1)=LEFT(capital,1) and name<>capital
5、赤道几内亚和多米尼加共和国的名字都有元音(a e i o u)。
查找名称中包含所有元音且没有空格的国家。
您可以使用短语名称NOT LIKE“%a%”从结果中排除字符。
SELECT name
FROM world
WHERE name LIKE '%a%'
AND name LIKE '%e%'
AND name LIKE '%i%'
AND name LIKE '%o%'
AND name LIKE '%u%'
AND name NOT LIKE '% %'