sql 除以_第二关 从零学会SQL:简单查询 20201202

思维导图

24c46343e0310eeb2b0fc21d8f66b69e.png

一.基本的查询语句

1.1 语句(select from)

select <列名1>,<列名2>

from <表名>

1.2 语句类型

1.2.1 查询全部列 (*)

select *

from <表名>

1.2.2 为列设定别名 (as)

select <列名1>, as <新列名1>,<列名2>, as <新列名2>,

from <表名>

1.2.3 删除重复数据 (distinct)

select distinct <列名1>,<列名2>

from <表名>;

1.3 书写规则

  • 语句以英文;结尾
  • 语句不区分大小写
  • 列名不加单引号,不能有空格
  • 符号只能用英文符号

二.指定查询条件(where 结合运算符)

2.1 语句

select <列名1>,<列名2>,… 

from <表名> 

where 查询条件

2.2 SQL运行顺序

顺序:from→where→select

select子句最后运行,其他子句按书写顺序运行

三.注释和SQL语句注意事项

3.1 注释

单行注释

-- 查询全部列

多行注释

/*

查找姓名是

猴子学生的学号

*/

3.2 SQL语句注意事项

  • 子句中间不能空行
  • 标点符号必须为英文符号

四.运算符

4.1 算术运算符(+,-,*,/)

注:

有括号要先算括号里面的

任意数值+NULL=NULL

4.2比较运算符(<,>,=,<=,>=,<>)

注:

比较运算符可以和所有类型的值进行比较

注意字符串的比较 '10'<'2'

4.3 逻辑运算符(not ,and,between,or,in)

五.字符串模糊查询

5.1 like:表示模糊查询

5.2 '%':表示任意字符

5.3 '_' :表示任意1个字符串

六.练习题(sqlzoo平台)

6.1 select basic(简单查询)

网址:https://sqlzoo.net/wiki/SELECT_basics/zh;

1.這個例子顯示’France法國’的人口。字串應該在'單引號'中。修改此例子,以顯示德國 Germany 的人口。

SELECT population

FROM world

WHERE name = 'Germany'

2.查询面积为5000000以上平方公里的国家的国家名字,人均国内人均生产总值

text

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.显示面积为200000及250000之间的国家名称和它的面积

SELECT name,area FROM world

WHERE area between 200000 AND 250000;

6.2 select from world(运算符练习)

网址:SQLZOO:SELECT from WORLD Tutorial/zh;

1.显示所有国家名称、州名称、国家人口

select name,continent,population 

from world;

2.显示人口至少2亿的国家/地区的名称

SELECT name FROM world

WHERE population>200000000

3.查询出人口至少2亿的国家名称、人均生产总值

SELECT name ,gdp/population

FROM world

WHERE population>=200000000

4.查询南美洲国家名称、百万为单位的人口数量

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.美國、印度和中國(USA, India, China)是人口又大,同時面積又大的國家。排除這些國家。

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

大国的定义:面积大于300万平方公里或者人口超过2.5亿

1.要么面积大于300万平方公里,但是同时 人口小于2.5亿(and)

2.要么人口超过2.5亿,但是同时面积要小于300万平方公里(and)

3.两个条件满足一个就可以 (or)

select name,population,area 

from world

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

9.除以為1000000(6個零)是以百萬計。除以1000000000(9個零)是以十億計。使用 ROUND 函數來顯示的數值到小數點後兩位。

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

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

from world

where continent='South America';

10.顯示國家有至少一個萬億元國內生產總值(萬億,也就是12個零)的人均國內生產總值。四捨五入這個值到最接近1000。

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

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

from world

where GDP>1000000000000

6.3、select names(字符串模糊查询)

网址:https://sqlzoo.net/wiki/SELECT_names/zh;

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 '____';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值