mysql 心法口诀复习

开始打鸡血了

  • 语法顺序
select distinct 字段1,字段1,字段3 from 库.表
where 条件 
group by 分组条件
having 过滤 
order by 排序字段1,排序字段2
limit n;

  • 执行顺序
先找表(from) 
过滤数据(where)
分组(group by) [没有group by 整体算作一组]
过滤 (having)
去重(distinct)
排序 (order by)
限制查询数据条数(limit) 
  • group by 使用的聚合函数
max()  	最大

min() 	最小

count()	统计

avg() 	平均

sum() 	求和

group_concat() 分组后查看组内所有成员

select 分组字段,group_concat(表字段) from 表 group by 分组字段

  • 设置group by 的 global sql_mode为严格分组模式
set global sql_mode="ONLY_FULL_GROUP_BY"; 

设置后 select 的字段只能取分组字段

select 分组字段 from table group by 分组字段

  • order by排序
order by默认为升序(asc)排序   
   
降序排序(desc)

order by 字段1,字段2 

先按照字段1排序,字段1相同按照字段2排序

  • limit 限制查询条数和分页

【查询 n 条  limit n】

	用法示例:查询工资最高的员工信息
	
	select * from employ order by salary desc limit 1

【分页 limit n,m】
	n--页码		m--每页条数
	
	符合分页的sql 格式为:
	select * from table limit (n-1)*m,m 
	
	如每页十条数据
	第一页 select * from table limit 0,10
	第二页 select * from table limit 10,10
	...
	...
	...
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章