数据库

子查询以及sql语句练习

位置:首页 > 数据库 > SQL Server,2017-03-11
--1列出emp表中各部门的部门号,最高工资,最低工资--先分组,后计算, SELECTe.deptnoAS部门号,MAX(e.sal) AS最高工资,MIN(
--1列出emp表中各部门的部门号,最高工资,最低工资
--先分组,后计算,
 
SELECTe.deptnoAS部门号,MAX(e.sal) AS最高工资,MIN(e.sal)AS最低工资FROMempASeGROUPBYe.deptno;
 
--2 列出emp表中各部门job为'CLERK'的员工的最低工资,最高工资
 
SELECTMIN(e.sal)AS最低工资 ,MAX(e.sal)FROMempASeWHEREe.job='CLERK'GROUPBYe.deptno;
 
--3 对于emp中最低工资小于2000的部门,列出job为'CLERK'的员工的部门号,最低工资,最高工资
 
SELECTe.deptnoAS部门号,MIN(e.sal)AS最低工资 ,MAX(e.sal)AS最高工资FROMempASeWHERE e.job ='CLERK'AND(SELECTMIN(b.sal)FROMemp b) <2000GROUPBYe.deptno;
 
--4 根据部门号由高而低,工资有低而高列出每个员工的姓名,部门号,工资
 
SELECTe.enameAS姓名 ,e.deptnoAS部门号, e.salAS工资FROMempASeORDERBYe.deptnoDESC,e.sal
 
--5 列出'buddy'所在部门中每个员工的姓名与部门号
 
SELECTe.enameAS姓名, e.deptnoAS部门号FROMempASeWHEREe.deptno =(SELECTb.deptno FROM emp ASbWHEREb.ename='buddy');
 
--6 列出每个员工的姓名,工作,部门号,部门名
 
SELECTe.ename 姓名, e.jobAS工作 , e.deptnoAS部门号FROMempASe , deptASdWHEREe.deptno=d.deptno  ;
 
--7列出emp中工作为'CLERK'的员工的姓名,工作,部门号,部门名
 
SELECTe.enameAS姓名, e.jobAS工作 ,d.dnameAS部门名FROMempASe , deptASdWHEREe.deptno =d.deptnoANDe.job='CLERK';
 
--8对于emp中有管理者的员工,列出姓名,管理者姓名(管理者外键为mgr)
 
SELECTa.deptnoAS部门号,a.enameAS员工,b.enameAS管理者FROMempASa,empASbWHEREa.mgrISNOTNULLANDa.mgr=b.ename;
 
--9 对于dept表中,列出所有部门名,部门号,同时列出各部门工作为'CLERK'的员工名与工作
 
SELECTd.dnameAS部门名, d.deptnoAS部门号 ,e.enameAS姓名 , e.jobAS工作 FROM deptASd ,empASeWHEREe.deptno =d.deptnoANDe.job='CLERK';
 
--10 对于工资高于本部门平均水平的员工,列出部门号,姓名,工资,按部门号排序
 
SELECTe.deptnoAS部门号,e.enameAS姓名, e.salAS工资FROMempASeWHEREe.sal >(SELECTAVG(el.sal)FROMempASelWHEREel.deptno=e.deptno)ORDERBYe.deptno;
 
--11对于emp,列出各个部门中工资高于本部门平均工资的员工数和部门号,按部门号排序
  
SELECTCOUNT(e.sal)AS员工数,e.deptnoAS部门号FROMempASeWHEREe.sal >(SELECTAVG(el.sal)FROMempASelWHEREe.deptno =el.deptno)GROUPBYe.deptnoORDERBYe.deptno;
 
--12对于emp中工资高于本部门平均水平,人数多与1人的,列出部门号,人数,平均工资,按部门号排序
 
SELECTCOUNT(a.empno)AS员工数,a.deptnoAS部门号,AVG(sal)AS平均工资
FROMempASaWHERE(SELECTCOUNT(c.empno)FROMempAScWHEREc.deptno=a.deptnoAND
c.sal>(SELECTAVG(sal)FROMempASbWHEREc.deptno=b.deptno))>1
GROUPBYa.deptnoORDERBYa.deptno;

TAGS:子查询sql语句

猜你喜欢

NewHot