Mysql 高级语句

目录

高阶查询select语句:

显示表格中一个或数个字段的所有数据记录:

不显示重复的数据记录:distinct

and且,or或

显示已知的值的数据记录:in

显示两个值范围内的数据记录:between

通配符:通常通配符都是跟 like一起使用的

按关键字排序:order by

函数:

数学函数:

聚合函数:

字符串函数:

group by:对group by后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的

having:用来过滤由group by 语句返回的记录集,通常与group by语句联合使用

别名:as字段別名 表格別名

子查询:连接表格,在where子句或 having子句中插入另一个 SQL 语句

连接查询:

inner join:

left join:

right join:

union 去重:

union all  不去重:


目录

高阶查询select语句:

显示表格中一个或数个字段的所有数据记录:

不显示重复的数据记录:distinct

and且,or或

显示已知的值的数据记录:in

显示两个值范围内的数据记录:between

通配符:通常通配符都是跟 like一起使用的

按关键字排序:order by

函数:

数学函数:

聚合函数:

字符串函数:

group by:对group by后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的

having:用来过滤由group by 语句返回的记录集,通常与group by语句联合使用

别名:as字段別名 表格別名

子查询:连接表格,在where子句或 having子句中插入另一个 SQL 语句

连接查询:

inner join:

left join:

right join:

union 去重:

union all  不去重:

视图表:可以被当作是虚拟表或存储查询。


高阶查询select语句:

显示表格中一个或数个字段的所有数据记录:

select 字段 from  表名;

Mysql 高级语句_第1张图片Mysql 高级语句_第2张图片

添加内容:

Mysql 高级语句_第3张图片

显示表格中一个或数个字段的所有数据记录:

select 字段 from 表 where 字段

Mysql 高级语句_第4张图片

不显示重复的数据记录:distinct

select distinct 字段 from 表 

Mysql 高级语句_第5张图片

and且,or或

select 字段 from 表 where 条件1 and/or 条件2

and且

Mysql 高级语句_第6张图片

或or

Mysql 高级语句_第7张图片

显示已知的值的数据记录:in

select 字段 from 表 where 字段 in (值)

Mysql 高级语句_第8张图片

显示两个值范围内的数据记录:between

select 字段 from 表 where 字段 between ‘值1’ and ‘值2

Mysql 高级语句_第9张图片

通配符:通常通配符都是跟 like一起使用的

like:匹配一个模式来找出我们要的数据记录

% :百分号表示零个、一个或多个字符
_ :下划线表示单个字符
select 字段 from 表 where 字段 like ‘通配符’

Mysql 高级语句_第10张图片

Mysql 高级语句_第11张图片

按关键字排序:order by

select 字段 from 表 [where 字段] order by "字段" [asc,desc];

asc:默认以升序排序

Mysql 高级语句_第12张图片

desc:以降序排序

Mysql 高级语句_第13张图片

Mysql 高级语句_第14张图片

Mysql 高级语句_第15张图片

函数:
数学函数:

rand()                返回 0 到 1 的随机数

Mysql 高级语句_第16张图片

round(x,y)            保留 x 的 y 位小数四舍五入后的值

Mysql 高级语句_第17张图片

truncate(x,y)        返回数字 x 截断为 y 位小数的值

Mysql 高级语句_第18张图片

greatest(x1,x2...)    返回集合中最大的值,也可以返回多个字段的最大的值
least      (x1,x2...)        返回集合中最小的值,也可以返回多个字段的最小的值
Mysql 高级语句_第19张图片

聚合函数:

avg()                返回指定列的平均值
count()                返回指定列中非 NULL 值的个数
min()                返回指定列的最小值
max()                返回指定列的最大值
sum(x)                返回指定列的所有值之和

avg()  :

Mysql 高级语句_第20张图片

Mysql 高级语句_第21张图片count(*):返回所有值

Mysql 高级语句_第22张图片

count():

Mysql 高级语句_第23张图片

min() :

Mysql 高级语句_第24张图片

Mysql 高级语句_第25张图片

max():

 Mysql 高级语句_第26张图片

sum(x):

Mysql 高级语句_第27张图片

字符串函数:

concat(x,y)            将提供的参数 x 和 y 拼接成一个字符串    或者   字段1  || 字段2 

Mysql 高级语句_第28张图片

Mysql 高级语句_第29张图片

可以添加空格符:

Mysql 高级语句_第30张图片

substr(x,y,z)        获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串

Mysql 高级语句_第31张图片

replace(x,y,z)        将字符串 z 替代字符串 x 中的字符串 y

Mysql 高级语句_第32张图片

length(x)            返回字符串 x 的长度

Mysql 高级语句_第33张图片

group by:对group by后面的字段的查询结果进行汇总分组,通常是结合聚合函数一起使用的

有一个原则,凡是在 group by后面出现的字段,必须在 selsect后面出现;
凡是在 select 后面出现的、且未在聚合函数中出现的字段,必须出现在 group by后面。

Mysql 高级语句_第34张图片

having:用来过滤由group by 语句返回的记录集,通常与group by语句联合使用

弥补了where关键字不能与聚合函数联合使用的不足。

having的作用:根据group by分组后的结果再进行条件过滤

Mysql 高级语句_第35张图片

Mysql 高级语句_第36张图片

别名:as字段別名 表格別名

Mysql 高级语句_第37张图片

子查询:连接表格,在where子句或 having子句中插入另一个 SQL 语句

Mysql 高级语句_第38张图片

Mysql 高级语句_第39张图片

连接查询:

inner join    内连接,只返回两个表的字段相等的行记录
left join     左连接,返回左表所有的行记录和右表字段相等的行记录,不相等的行返回null
right join    右连接,返回右表所有的行记录和左表字段相等的行记录,不相等的行返回null
union         联集,将两个select查询语句的结果合并,并去重
union all     联集,将两个select查询语句的结果合并,不去重

full outer join   全外连接,返回左表和右表中所有的行记录,MySQL不支持

inner join:

Mysql 高级语句_第40张图片

Mysql 高级语句_第41张图片

left join:

Mysql 高级语句_第42张图片

right join:

Mysql 高级语句_第43张图片

union 去重:

Mysql 高级语句_第44张图片

union all  不去重:

Mysql 高级语句_第45张图片

视图表:可以被当作是虚拟表或存储查询。

视图跟表格的不同是,表格中有实际储存数据记录,而视图是建立在表格之上的一个架构,它本身并不实际储存数据记录。

视图表的数据是否能修改?

视图表保存的是select查询语句的定义。如果select语句查询的字段是没有被处理过的源表字段,则可以通过视图表修改源表数据。
 如果select语句查询的字段被 group by 或 函数 等处理过的字段,则不可以直接修改视图表的数据。
create view  视图表名  as  select语句;

Mysql 高级语句_第46张图片

Mysql 高级语句_第47张图片

你可能感兴趣的:(mysql,数据库)