mysql的简单理解_MySQL之简单查询理解与练习

一、基本查询

掌握MySQL的简单查询,整理了猴子老师live的部分内容,原内容链接:从零学会SQL:简单查询​www.zhihu.com7f961dff94982a8c9a59fc3b205cc194.png

1、书写规则英文符号需特别注意

2、注释(单行、多行不同)

3、运行顺序select开头始终不变

4、基本运算符日常使用,少用not

5、其他(模糊查询like)

二、练习

1、SELECT basics

(1)查询德國 Germany 的人口。

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;

2、SELECT from WORLD

(1)顯示具有至少2億人口的國家名稱。 2億是200000000,有八個零。

SELECT name

FROM world

WHERE population>=200000000;

(2)找出有至少200百萬(2億)人口的國家名稱,及人均國內生產總值。

select name,gdp/population

from world

where population>=200000000;

(3)顯示'South America'南美洲大陸的國家名字和以百萬為單位人口數。

select name,population/1000000

from world

where continent='South America';

(4)顯示法國,德國,意大利(France, Germany, Italy)的國家名稱和人口。

select name,population

from world

where name in ('France','Germany','italy');

(5)顯示包含單詞“United”為名稱的國家。

select name

from world

where name like '%United%';

(6)展示大國的名稱,人口和面積。

select name,population,area

from world

where area>3000000

or population>250000000;

(7)顯示以人口或面積為大國的國家,但不能同時兩者。顯示國家名稱,人口和面積。

select name,population,area

from world

where (area>3000000 and population<=250000000)

or (area<=3000000 and population>250000000);

(8)對於南美顯示以百萬計人口,以十億計2位小數GDP。

select name,round(population/1000000,2),round(gdp/1000000000,2)

from world

where continent='South America';

(9)顯示萬億元國家的人均國內生產總值,四捨五入到最近的$ 1000。

select name,round(gdp/population,-3)

from world

where gdp>1000000000000;

(10)Show the name - but substitute Australasiafor Oceania- for countries beginning with N.

SELECT name,

CASE WHEN continent='Oceania' THEN 'Australasia'

ELSE continent END

FROM world

WHERE name LIKE 'N%';

(11)Show the name and the continent - but substituteEurasiafor Europe and Asia; substituteAmerica- for each country inNorth AmericaorSouth AmericaorCaribbean. Show countries beginning with A or B.

SELECT name,

CASE WHEN continent in ('Europe','Asia')

THEN 'Eurasia'

WHEN continent in ('North America','South America','Caribbean')

THEN 'America'

ELSE continent END

FROM world

WHERE name LIKE 'A%'

or name LIKE 'B%';

3、SELECT names(模糊查询)

(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%o%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,'%')

and NOT capital = name;

(15)顯示國家名字,及其延伸詞,如首都是國家名字的延伸。

select name,REPLACE(capital,name,'')

from world

where capital like concat('%',name,'%')

and NOT capital = name;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值