--三种方法查询人所在部门平均工资

--建表

IF OBJECT_ID(N‘Emp‘,‘U‘) IS NOT NULL

BEGIN

PRINT ‘This table have been existed‘;

END

ELSE

BEGIN

CREATE TABLE [dbo].[Emp]

(

[Name]       NVARCHAR(50) ,

[Slary]      INT,

[DepID]      INT

)

INSERT INTO [Emp]

SELECT N‘张三‘, ‘100‘, 1

UNION ALL

SELECT N‘李四‘, ‘200‘, 1

UNION ALL

SELECT N‘王五‘, ‘200‘, 2

UNION ALL

SELECT N‘张麻子‘, ‘300‘, 2

UNION ALL

SELECT N‘一柱擎天‘, ‘300‘, 2

UNION ALL

SELECT N‘陈勃‘, ‘400‘, 3

END

-------------------------------------------------------------------------------------------------------------------------

--方法:Nested Loop

SELECT a.*,(SELECT AVG(Slary) FROM [Emp] b WHERE b.DepID=a.DepID )

FROM [Emp] a

--方法:开窗

SELECT *, AVG(Slary) OVER(PARTITION BY DepID)

FROM [Emp]

--方法:

SELECT a.*, b.Avg

FROM [Emp] a INNER JOIN (SELECT DepID, AVG(Slary) Avg FROM [Emp] GROUP BY DepID) b ON a.DepID=b.DepID

时间: 2024-10-14 10:47:46

--三种方法查询人所在部门平均工资的相关文章

数据库题——高于部门平均工资查询问题

题目:找出高于所在部门平均工资的员工的姓名,工资,所在部门的编号.部门的平均工资 表的结构(表名为sqltest) 1.首先找出每一个部门的平均工资 SELECT AVG(salary) avg_salary ,depart_id FROM sqltest GROUP BY depart_id 得到 2.将其作为暂时表(temp_table).放到主查询中 SELECT sqltest.name,sqltest.salary,temp_table.depart_id,temp_table.avg

oracle 查询当天记录 三种方法效率比较

-- 查询一表中当天生成的数据 -- 原表mobilefrends中的cdate字段上有索引,创建索引语句是:create index mobilefrends_cdate_idx on mobilefrends(cdate); --------------------------------------------------------------------------------------------------------------------- -- 方法一:用to_char()

mysql分表的三种方法

mysql分表的3种方法 一,先说一下为什么要分表 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了.分表的目的就在于此,减小数据库的负担,缩短查询时间. 根据个人经验,mysql执行一个sql的过程如下:1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果.在这个执行过程中最花时间在什么地方呢?第一,是排队等待的时间,第二,sql的执行时间.其实这二个是一回事,等待的同时,肯定有sql在执行.所以我们要缩短sql的执行

【转载】取得系统中网卡MAC地址的三种方法

From:http://blog.csdn.net/zhangting1987/article/details/2732135 网卡地址这个概念有点混淆不清.因为实际上有两个地址,mac地址和物理地址,一般说网卡地址我是指物理地址,不知道别人怎么看?物理地址指的是网卡上的存放地址的ROM里的地址,mac地址是这块卡工作的时候用的地址,一般情况下这两个地址是一样的,所以很多人都混用了,甚至不知道有区别  -_-# 网卡工作的时候,一个以太网帧60到1514(不包括crc),帧的crc是网卡自动加的

安装软件包的三种方法、rpm包介绍及工具用法、yum用法及搭建本地仓库

一.安装软件包的三种方法 rpm工具 rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序.rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷.但是有一个缺点:安装环境必须与编译时的一致或相当:包与包之间存在着相互依赖的情况,安装或卸载包时需要先把依赖的包安装或卸载,如果依赖的包是系统所必须的,那就不能卸载这个包. yum工具 (类似于苹果手机里面的app store) yum

安装软件包的三种方法rpm包rpm工具yum工具

7.1 安装软件包的三种方法 rpm工具rpm(Redhat Package Manager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序.rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷.但是有一个缺点:安装环境必须与编译时的一致或相当:包与包之间存在着相互依赖的情况,安装或卸载包时需要先把依赖的包安装/卸载,如果依赖的包时系统所必须的,那就不能卸载这个包. yum工具 yum命令是在Fedora和RedHat以及SU

linux中传文件的三种方法、windows

第一种方法:使用vsftpd服务 ftp配置文件主要内容:[[email protected] vsftpd]# cat vsftpd.conf|grep -v ^#|grep -v ^$anonymous_enable=YES #匿名登陆local_enable=YES #允许使用本地用户来登陆ftplocal_root=/var/ftp/pub #write_enable=YES #开放本地用户写的权限local_umask=022 #FTP上本地的文件权限,默认是077 anon_uplo

VMWARE虚拟机不能上网三种方法分析

bridged(桥接模式). NAT(网络地址转换模式) host-only(主机模式). 理论理解: 1.bridged(桥接模式) 在这处模式下,虚拟机等同于网络内的一台物理主机,可对手动设置IP,子网掩码,DNS,且IP地址要和主机的IP在同一网段内.这样,虚拟机就和主机如同连在一个HUB上的两台计算机,只要主机能上网,虚拟机也会在这种模式下上网. 2.host-only(主机模式) 在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的. 提示:在

pdf文件怎么编辑 如何编辑pdf文件的三种方法

pdf文件越来越流行,工作中经常遇到需要修改pdf文件的情况.一般人的电脑上都为pdf文件安装了一个pdf阅读器,可它只能用来阅读查看pdf文件,并不能满足人们的编辑需求.那么pdf文件怎么编辑?下面小编给大家讲讲关于如何编辑pdf文件的三种方法.     方法一:直接编辑,一步到位     如果要对pdf文件进行编辑,我们则需要安装pdf编辑器.最新版的迅捷pdf编辑器可以编辑pdf文件中的任何内容,包括文字.图片.页眉页脚.添加注释等等.迅捷pdf编辑器如何编辑pdf文件?     首先需要