MySQL select语句的七大子句

/*

select的七大子句:

1、from:从哪些表中查询数据

2、on:主要用在关联查询中,后面跟关联条件

3、where:主要用于数据筛选,后面可以以某个字段为条件,但是一定不能以分组函数为条件

4、group by:可以根据某个或某几个字段进行分组,会将该字段之一样的数据分为一组

group by单独使用没有任何意义,必须和分组函数结合使用

但是分组函数可以单独使用,此时是将所有数据作为一组

5、having:是在查询的结果中再次进行筛选,因此后面的条件必须是select后面出现的字段或分组函数

注意:on后主要跟关联条件,where后跟字段作为条件,having后跟分组函数作为条件

6、order by:排序,根据某个或某几个字段进行排序,asc表示升序(默认),desc表示降序

7、limit,分页

limit index,pageSize

index:当前页的起始索引

pageSize:每页显示的条数

pageNum:当前页的页码

index = (pageNum-1)*pageSize

pageNum=1,pageSize=4,limit 0,4

pageNum=4,pageSize=4,limit 12,4

pageNum=8,pageSize=4,limit 28,4

pageNum=4,pageSize=6,limit 18,6

limit 4-->limit 0,4

*/

#测试on

SELECT * FROM t_employee ON eid > 10; -- X

SELECT * FROM t_employee emp LEFT JOIN t_department dept ON emp.eid = 10; -- √

#测试where

SELECT * FROM t_employee WHERE eid > 10; -- √

SELECT AVG(salary) FROM t_employee WHERE AVG(salary)>15000 GROUP BY did; -- X

#测试group by

#查询每个部门的平均薪资,最高薪资,最低薪资,薪资综合,人数

SELECT did,AVG(salary),MAX(salary),MIN(salary),SUM(salary),COUNT(0) FROM t_employee WHERE did IS NOT NULL GROUP BY did;

#查询男女的平均薪资

SELECT sex,AVG(salary) FROM t_employee WHERE did IS NOT NULL GROUP BY sex;

#查询每个部门男女的平均薪资

SELECT did,sex,AVG(salary) FROM t_employee WHERE did IS NOT NULL GROUP BY did,sex;

SELECT did,sex,AVG(salary) FROM t_employee WHERE did IS NOT NULL GROUP BY sex,did;

#测试having

SELECT * FROM t_employee HAVING eid > 10; -- √

SELECT AVG(salary) FROM t_employee WHERE did IS NOT NULL GROUP BY did HAVING AVG(salary) > 15000;

SELECT did,AVG(salary) FROM t_employee WHERE did IS NOT NULL GROUP BY did HAVING eid > 10; -- X

SELECT did,AVG(salary) FROM t_employee WHERE did IS NOT NULL GROUP BY did HAVING did > 1; -- √

SELECT did,AVG(salary) FROM t_employee WHERE did IS NOT NULL AND did > 1 GROUP BY did; -- √

#测试order by

SELECT * FROM t_employee ORDER BY salary DESC,kpi ASC;

#测试limit

SELECT * FROM t_employee LIMIT 4;

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值