mysql-高级查询
Posted chenlulu1122
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql-高级查询相关的知识,希望对你有一定的参考价值。
高级查询
###模糊查询
select * from class where name like ‘to_‘; 下划线代表一个字符
select * from class where name like ‘to%‘;%代表0个或者多个字符
select * from class where name regexp ‘tow*‘; regexp 后面用正则表达式
###联合查询
select * from class where name=‘chen‘ union[all重复结果也重复显示] select * from class where age>25; #可以不同表一起查询
as 另命名使用
select * from (select * from class where age>25) as b where b.name=‘chen‘;
(select * from class where age>25) 查询结果作为一个源表,命名为b使用,字段也可以重命名
select * from class where age > (select age from class where name=‘chen‘);
查询结果作为一个字段的内容使用
###聚合查询
select name,min(score) from class where age>20 group by name order by min(score) [desc降/默认升] limit 5;
优秀顺序:
from查询表 --where条件 --group by分组(select 后面字段必须和分组字段一致,或者聚合函数) ---having(分组后的字段判断)
---order by(排序) ---limit(限制显示数量) ------select(显示)
聚合函数:
min(字段) 最小
max()最大
avg()平均
sun()和
count(*)满足查询条件的记录数量
###表关联查询
select * from class,dept where class.name=dept.name;
select* from class inner join dept on class.name=dept.name; 内连接
select* from class left/right join dept on class.name=dept.name;外连接
以上是关于mysql-高级查询的主要内容,如果未能解决你的问题,请参考以下文章