SQL 数据库 学习 030 查询-13 --- 查询语句的顺序

本文介绍在SQL Server环境中如何使用两种不同的SQL查询方法来找出平均薪水最高的部门及其平均工资。通过具体实例展示了如何利用group by、order by以及子查询来实现这一目标。

  • 我的电脑系统:Windows 10 64位
  • SQL Server 软件版本: SQL Server 2014 Express

SQL Server 查询语句的顺序

select top ...
    from A
    join B
    on ...
    join C
    on ...
    where ...
    group by ...
    having ...
    order by ...

例子

本例子里面使用了 scott 库,如何你现在还没有添加这个库到你的服务器里面,请在查看本篇博客前,访问这篇博文来在你的服务器里面附加scott库。


求出平均薪水最好的部门的标号和部门的平均工资

--求出平均薪水最好的部门的标号和部门的平均工资
--第1种写法:
select top 1 deptno, avg(sal) "avg_sal"
    from emp "E"
    group by deptno
    order by avg(sal) desc

Alt text

等价于:

--求出平均薪水最好的部门的标号和部门的平均工资
--第2种写法:
select "E".*
    from (
        select deptno, avg(sal) "avg_sal"
            from emp
            group by deptno
    ) "E"
    where "E"."avg_sal" = (
        select max("avg_sal") 
            from (
                select deptno, avg(sal) "avg_sal" 
                    from emp 
                    group by deptno
            ) "T"
    )

Alt text


请访问:http://www.aobosir.com/

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值