SQL数据库高级查询命令(3)

本文总结了多种实用的SQL查询技巧,包括如何统计特定条件下的记录数、计算平均值、求和及最大最小值等,还介绍了如何使用CASE语句进行条件判断及GROUP BY进行分组汇总。

use employee

go

select max(base_salary),min(base_salary),count(*),avg(base_salary),sum(base_salary) from emp where position='高级讲师'

--显示'高级讲师'的最高工资以及最低工资和人数总和以及工资总和。

select count(home_addr) from student

-----显示student表中家庭地址不为空的所有学生总和。

select count(*) from student

---显示student表中的所有学生总和。

select position as '职位',avg(base_salary) as '平均工资' from emp group by position

--------Select后的列表如有聚合函数,除聚合函数外,其他列必须出现在group by 后,否则出错。

---显示雇员表中各职位的平均工资。

select sex,sum(age) from student group by sex having sum(age)<100

----按照性别总和所有学生的年龄,并且在输出结果中筛选出总年龄小于的。

select student_id,sum(grade) from student group by student_id having sum(grade)>=500

------student表中的所有学生的成绩按照学号总和统计然后在输出结果中筛选出总成绩大于分的学生。

select datepart(dd,orderdate) as '第天',sum(ordersum) as '金额' from orders where datepart(mm,orderdate)=group by datepart(dd,orderdate)

-----查询orders表中所有商品的出售情况,只显示月份每一天商品的出售金额总和统计的结果。

select datepart(mm,orderdate) as '月份',sum(ordersum) as '金额' from orders where datepart(yy,orderdate)=2007 group by datepart(mm,orderdate)

--------查询orders表中所有商品的出售情况,只显示年每月商品的出售金额总和统计的结果。

select datepart(yy,orderdate) as '年份',sum(ordersum) as '金额' from orders group by datepart(yy,orderdate)

----------查询orders表中所有商品的出售情况,显示年出售商品金额总和的统计结果。

select student_name,case when sex=then '' when sex=then '' else '不分男女' end as '性别' from student

---------显示student表中所有学生的性别,别且将表中所定义的装换成男,女显示出来。

select emp_name,position, case when position='初级讲师' then base_salary+1000 when position='中级讲师' then base_salary+2000 when position='高级讲师' then base_salary+3000 else base_salary end from emp

------显示如果职位是初级讲师则底薪加,中级讲师底薪加高级讲师底薪加其他不加,最后显示计算后的统计结果。

 


本文转自 沐小七  51CTO博客,原文链接:http://blog.51cto.com/3088522/566620

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值