sql语句-sql学习笔记4

1、表的复杂查询

(1)实际应用中经常需要查询复杂的数据统计,要显示多张表的数据,下面学习较为复杂的select语句。

数据分组——max,min,avg,sum,count

**例1:如何显示所有员工中最高工资和最低工资

select max(sal)form emp

**??如何显示最低工资和该雇员的名字

sql语句执行的顺序:从右向左执行

select语句优化,尽量把结果集写在右面

select ename, sal form emp where sal=(select min(sal) from emp)

**例2:显示所有员工的平均工资和工资总和

select avg(sal) 平均工资,sum(sal) 总工资 from emp

**例3:计算共有多少员工

select count(*) from emp

**例4:显示工资最高的员工的名字、工作岗位

**例5:显示工资高于平均工资的员工信息

(2)group by 和 having语句

group by 用于对查询的结果分组统计

having 字句用于限制分组显示结果(往往和group by结合使用,可以对分组查询结果进行筛选)

**例6:如何显示每个部门的平均工资和最高工资

select avg(sal),max(sal),deptno from emp group by deptno

**例7:如何显示每个部门的每种岗位的平均工资和最低工资

select avg(sal),min(sal) ,deptno,job form emp group by deptno,job order by deptno

**例8:显示平均工资低于2000的部门号和它的平均工资,并按照从低到高排

select avg(sal),deptno from emp group by deptno having avg(sal)<2000 order by avg(sal) asc

**********注:顺序:group by , having , order by

**********注:在选择列种如果有列、表达式、和分组函数,那么这些列和表达式必须有一个出现在group by字句中,否则出错,如例8中deptno在group by中出现


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值