一、知识点
SELECT 检索数据
WHERE 过滤数据
二、实操练习
练习地址
0 SELECT basics
1、显示德国的人口
SELECT population
FROM world
WHERE name = 'Germany';
2、查询面积为5,000,000以上平方公里的国家,对每个国家显示它的名字和人均国内生产总值(gdp/population)
SELECT name, gdp/population
FROM world
WHERE area > 5000000;
3、显示“爱尔兰(Ireland)”,“冰岛(Iceland)”,“丹麦(Denmark)”的国家名称和人口
SELECT name,population
FROM world
WHERE name IN('Ireland','Iceland','Denmark');
4、显示面积为200,000及250,000之间的国家名称和该国面积
SELECT name,area FROM world
WHERE area BETWEEN 200000 AND 250000;
1 SELECT name
1、找出以 Y 字母开头的国家名称
SELECT name
FROM world
WHERE name LIKE 'Y%';
2、找出以 Y 字母结尾的国家名称
SELECT name
FROM world
WHERE name LIKE '%Y';
3、找出所有国家名字中包括字母x
SELECT name
FROM world
WHERE name LIKE '%x%';
4、找出所有国家,其名字以 land 作結尾
SELECT name
FROM world
WHERE name LIKE '%land';
5、找出所有国家,其名字以 C 开始,ia 结尾
SELECT name
FROM world
WHERE name LIKE 'C%ia';
6、找出所有国家,其名字包括字母oo
SELECT name
FROM world
WHERE name LIKE '%oo%';
7、找出所有国家,其名字包括三个或以上的a
SELECT name
FROM world
WHERE name LIKE '%a%a%a%';
8、找出所有国家,其名字以t作第二个字母
SELECT name
FROM world
WHERE name LIKE '_t%'
ORDER BY name;
9、找出所有国家,其名字都有两个字母 o,被另外两个字母相隔着
SELECT name
FROM world
WHERE name LIKE '%o__o%' ;
10、找出所有国家,其名字都是 4 个字母的
SELECT name
FROM world
WHERE name LIKE '____';
11、查找所有国家的名字,其首都和国家名字是相同的
SELECT name
FROM world
WHERE name = capital;
12、查找所有国家的名字,其首都是国家的名字加上” City”
SELECT name
FROM world
WHERE capital = concat(name, ' City');
13、找出所有首都和其国家名字,而首都要有国家名字中出现
SELECT capital, name
FROM world
WHERE capital LIKE concat('%',name,'%');
14、找出所有首都和其国家名字,而首都是国家名字的延伸。 你应显示 Mexico City,因它比其国家名字 Mexico 长。你不应显示 Luxembourg,因它的首都和国家名相是相同的。
SELECT name, capital
FROM world
WHERE capital LIKE concat('%',name,'_%');
15、"Monaco-Ville"是合并国家名字 "Monaco" 和延伸词"-Ville"。显示国家名字,及其延伸词,如首都是国家名字的延伸。
SELECT name,replace(capital, name, '')
FROM world
WHERE capital LIKE concat(name,'%_');
2 SELECT from World
1、查询name,continent,population列的数据
2、显示人口至少为2亿的国家的名称
SELECT name
FROM world
WHERE population>200000000;
3、找出人口大于2亿的国家名字和人均生成总值
人均生产总值=gdp/国家人口数
SELECT name,gdp/population
FROM world
WHERE population>=200000000
4、查找属于南美洲(South America)的国家名称,并将人口除以100万,以获得数百万人口数
SELECT name,population/1000000
FROM world
WHERE continent='south america';
5、查找发过,德国,意大利(France, Germany, Italy)的国家名称和人口
SELECT name, population
FROM world
WHERE name IN ('France', 'Germany', 'Italy');
6、查找国家名称中包含“United”的国家
SELECT name
FROM world
WHERE name LIKE '%United%'
7、展示大国的名称,人口和面积。大国是指一个国家面积超过300万平方公里,或者人口超过2.5亿
下图带颜色部分全部满足条件
SELECT name,population,area
FROM world
WHERE area>3000000 OR population>250000000;
8、展示大国的名称,人口和面积,排除同时面积大而且人口大的国家
下图带颜色部分全部,除去同时满足的部分
SELECT name,population,area
FROM world
WHERE (area>3000000 AND population<=250000000) OR (area<=3000000 AND population>250000000);
9、查找南美洲(South America)的国家名称,人口数以百万表示(1后面6个0),gpd以十亿表示(1后面9个0)使用ROUND函数将值显示为两位小数
SELECT name,round(population/1000000,2),round(gdp/1000000000,2)
FROM world
WHERE continent='South America';
10、查找gdp大于1万亿(100亿,即12个零)的国家的名称和人均GDP,并将人均DGP的值舍入到最接近的1000
SELECT name,round(gdp/population,-3)
FROM world
WHERE gdp>1000000000000;
网友评论