mysql

从零学会SQL:简单查询

2021-07-15  本文已影响0人  羋学僧

一、知识点

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;
上一篇 下一篇

猜你喜欢

热点阅读