当前位置:Gxlcms > 数据库问题 > mysql-高级查询

mysql-高级查询

时间:2021-07-01 10:21:17 帮助过:5人阅读

高级查询

###模糊查询

select * from class where name like ‘to_‘; 下划线代表一个字符
select * from class where name like ‘to%‘;%代表0个或者多个字符
select * from class where name regexp ‘to\w*‘; 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-高级查询

标签:min   内连接   -o   where   sel   max   重命名   mit   正则表达   

人气教程排行