员工部门表综合查询 题Word格式.docx

上传人:b****7 文档编号:22595837 上传时间:2023-02-04 格式:DOCX 页数:19 大小:18.19KB
下载 相关 举报
员工部门表综合查询 题Word格式.docx_第1页
第1页 / 共19页
员工部门表综合查询 题Word格式.docx_第2页
第2页 / 共19页
员工部门表综合查询 题Word格式.docx_第3页
第3页 / 共19页
员工部门表综合查询 题Word格式.docx_第4页
第4页 / 共19页
员工部门表综合查询 题Word格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

员工部门表综合查询 题Word格式.docx

《员工部门表综合查询 题Word格式.docx》由会员分享,可在线阅读,更多相关《员工部门表综合查询 题Word格式.docx(19页珍藏版)》请在冰豆网上搜索。

员工部门表综合查询 题Word格式.docx

(31)查询平均工资低于2000的部门及其员工信息。

(32)查询在SALES部门工作的员工的姓名信息。

(33)查询工资高于公司平均工资的所有员工信息。

(34)查询出与SMITH员工从事相同工作的所有员工信息。

(35)列出工资等于30部门中某个员工的工资的所有员工的姓名和工资。

(36)查询工资高于30部门工作的所有员工的工资的员工姓名和工资。

(37)查询每个部门中的员工数量、平均工资和平均工作年限。

(38)查询从事同一种工作但不属于同一部门的员工信息。

(39)查询各个部门的详细信息以及部门人数、部门平均工资。

(40)查询各种工作的最低工资。

(41)查询各个部门中不同工种的最高工资。

(42)查询10号部门员工及其领导的信息。

(43)查询各个部门的人数及平均工资。

(44)查询工资为某个部门平均工资的员工的信息。

(45)查询工资高于本部门平均工资的员工的信息。

(46)查询工资高于本部门平均工资的员工的信息及其部门的平均工资。

(47)查询工资高于20号部门某个员工工资的员工的信息。

(48)统计各个工种的员工人数与平均工资。

(49)统计每个部门中各工种的人数与平均工资。

(50)查询其他部门中工资、奖金与30号部门某员工工资、奖金都相同的员工的信息。

没有查询结果

(51)查询部门人数大于5的部门的员工信息。

(52)查询所有员工工资都大于1000的部门的信息。

(53)查询所有员工工资都大于1000的部门的信息及其员工信息。

(54)查询所有员工工资都在900~3000之间的部门的信息。

(55)查询有工资在900~3000之间的员工所在部门的员工信息。

(56)查询每个员工的领导所在部门的信息。

(57)查询人数最多的部门信息。

(58)查询30号部门中工资排序前3名的员工信息。

(59)查询所有员工中工资排序在5到10名之间的员工信息。

(60)查询指定年份之间入职的员工信息。

答案:

员工部门表综合查询60题(上)

CREATEDATABASEoa;

USEoa;

 

CREATETABLEdept(

deptnoINTPRIMARYKEY,

dnameVARCHAR(20),

locVARCHAR(20)

DROPTABLEemp

CREATETABLEemp(

empnoINTPRIMARYKEY,

enameVARCHAR(20)NOTNULL,

jobVARCHAR(20)CHECK(jobIN('

CLERK'

'

SALESMAN'

MANAGER'

ANALYST'

)),

mgpINT,

hiredateDATETIME,

salDECIMAL(10,2),

commDECIMAL(10,2),

DEPTNOINTFOREIGNKEYREFERENCESdept(deptno)

INSERTINTOdeptVALUES(10,'

ACCOUNTING'

NEWTORK'

INSERTINTOdeptVALUES(20,'

RESEARCH'

DALLAS'

INSERTINTOdeptVALUES(30,'

SALES'

CHICAGO'

INSERTINTOdeptVALUES(40,'

OPERATIONS'

BOSTON'

insertintoempvalues(7369,'

SMITH'

7902,'

1980-12-17'

1640,NULL,20);

insertintoempvalues(7499,'

ALLEN'

7698,'

1981-2-20'

11400,300,30);

insertintoempvalues(7521,'

WARD'

1981-2-22'

5200,500,30);

insertintoempvalues(7566,'

JOENS'

7839,'

1981-4-2'

7015,NULL,20);

insertintoempvalues(7654,'

MARTIN'

1981-9-28'

5200,1400,30);

insertintoempvalues(7698,'

BLAKE'

1981-5-1'

5900,NULL,30);

insertintoempvalues(7782,'

CLARK'

1981-6-9'

2470,NULL,10);

insertintoempvalues(7788,'

SCOTT'

7566,'

1987-4-19'

3040,NULL,20);

insertintoempvalues(7844,'

TURNER'

6200,0,30);

insertintoempvalues(7876,'

ADAMS'

7788,'

1981-9-8'

2240,NULL,20);

insertintoempvalues(7900,'

JAMES'

1987-5-23'

4000,NULL,30);

insertintoempvalues(7902,'

FORD'

1981-12-3'

insertintoempvalues(7934,'

MILLER'

7782,'

1982-12-3'

2620,NULL,10);

SELECT*FROMemp;

select*fromdept;

员工部门表综合查询60题

(1)查询20部门的所有员工信息。

select*fromempwheredeptno=20;

selectempno,ename,deptnofromempwherejob='

select*fromempwhereisnull(comm,0)>

sal

sal*0.2

select*fromemp

wherejob='

anddeptno=10

union

anddeptno=20

--

where(job='

anddeptno=10)

or(job='

(6)查询所有工种不是MANAGER和CLERK,

--且工资大于或等于2000的员工的详细信息。

wherejobnotin('

andsal>

=2000

selectdistinctjobfromemp

wherecommisnotnull

selectename,salisnull(comm,0)实发工资

fromemp

select*

wherecommisnullorcomm<

100

(10)查询各月倒数第3天(倒数第2天)入职的员工信息。

select*

whereDATENAME(day,hiredate3)=1

selectename姓名,hiredate雇用日期,datediff(year,hiredate,getdate())工资

wheredatediff(year,hiredate,getdate())>

=25

selectupper(SUBSTRING(ename,1,1))lower(substring(ename,2,(len(ename)-1)))

selectenamefromempwherelen(ename)=6

selectenamefromempwhereenamenotlike'

%S%'

selectenamefromemp

whereenamelike'

_M%'

selectename员工姓名,substring(ename,1,3)员工姓名的前三个字符

--返回被替换了指定子串的字符串。

--REPLACE(<

string_expression1>

,<

string_expression2>

string_expression3>

--用string_expression3替换在string_expression1中的子串string_expression2。

selectreplace(ename,'

S'

s'

selectename,hiredate

orderbyhiredate

(19)显示所有员工的姓名、工种、工资和奖金,按工种降序排序,

--若工种相同则按工资升序排序。

selectename,job,sal,comm

orderbyjobdesc

(20)显示所有员工的姓名、入职的年份和月份,

--按入职日期所在的月份排序,若月份相同则按入职的年份排序。

selectename,hiredate入职日期,DATENAME(yy,hiredate)入职的年份,datename(mm,hiredate)入职的月份

wheredatename(mm,hiredate)=2

selectename,datename(yy,hiredate)'

年'

datename(mm,hiredate)'

月'

datename(dd,hiredate)'

日'

工作期限

selectd.dname,count(empno)部门人数

fromempe

rightjoindeptdond.deptno=e.deptno

groupbyd.dname,e.deptno

havingcount(empno)>

=1

1

wheresal>

selectsalfromempwhereename='

selectename员工的姓名,(

selectenamefromempe2wheree2.empno=e1.mgp

)直接上级

fromempe1

selectename员工的姓名,hiredate入职日期,(

)直接上级,(

selecthiredatefromempe2wheree2.empno=e1.mgp

)直接上级入职日期

wheree1.hiredate<

(selecthiredate

fromempe2wheree2.empno=e1.mgp

selectdept.dname,emp.ename

fromdept

leftouterjoinemponemp.deptno=dept.deptno

leftouterjoindeptonemp.deptno=dept.deptno

selectdept.dname,emp.ename,emp.job

selectjob,sal

2500

员工部门表综合查询60题(下)

fromdeptleftouterjoinempondept.deptno=emp.deptno

wheredept.deptnoin(

selectdeptnofromemp

groupbydeptno

havingavg(sal)<

2000)

--法一:

表连接

wheredept.dname='

--法二:

子查询

select*fromemp

whereemp.deptno=(

selectdeptnofromdeptwheredname='

selectavg(sal)

fromemp)

select*fromempwherejob=(

selectjob

fromemp

whereename='

wheresalin(

selectsal

wheredeptno=30)anddeptno!

=30

wheresal>

all(

wheredeptno=30)

selectdname部门,count(ename)员工数量,isnull(avg(sal),0)平均工资,

isnull(avg(datediff(yy,hiredate,getdate())),0)平均工作年限

fromdeptd

leftouterjoinempeond.deptno=e.deptno

groupbyd.dname

wheree1.jobin(

selectdistincte2.job

fromempe2

wheree2.deptno!

=e1.deptno

selectd.dname部门名称,d.deptno部门编号,count(e.empno)人数,avg(e.sal)平均工资

groupbyd.deptno,d.dname

selectjob工种,min(sal)最低工资

groupbyjob

selectdname部门名称,job工种,max(isnull(sal,0))最高工资

fromdeptdleftjoinempeond.deptno=e.deptno

groupbyjob,dname

selectdeptno部门,ename姓名,(selecte2.enamefromempe2wheree2.mgp=e1.empno)上级领导

wheredeptno=10

selectdname部门名称,count(ename)部门人数,avg(isnull(sal,0))平均工资

fromdeptdleftouterjoinempeond.deptno=e.deptno

wheresalin(

fromempgroupbydeptno

wheree2.deptno=e1.deptno

select*,(selectavg(sal)fromempe2wheree2.deptno=e1.deptno)部门平均工资

selectavg(sal)fromempe2wheree2.deptno=e1.deptno

any(

selectsalfromempewheredeptno=20

(48)统计各个工种的员工人数与平均工资。

selectjob工种,count(empno)员工人数,avg(sal)平均工资

groupbyjob

selectdname部门,job工种,count(empno)人数,avg(isnull(sal,0))平均工资

(50)查询其他部门中工资、奖金与30号部门某员工工资、

--奖金都相同的员工的信息。

sele

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1