USE STUDY SELECT * from EMP SELECT * FROM SALGRADE
--1.查詢雇員姓名,所在部門編號和名稱
SELECT ename,EMP.deptno,DEPT.deptno FROM EMP INNER JOIN DEPT ON DEPT.deptno =EMP.deptno
--2.查詢雇員姓名,工作,領導的姓名
SELECT e1.ename,e1.job,e2.ename FROM EMP e1 INNER JOIN EMP e2 on e1.mgr=e2.empno
--3.查詢雇員姓名,工作,領導姓名及部門名稱
SELECT e1.ename,e1.job,e2.ename,DEPT.dname FROM DEPT , EMP e1 INNER JOIN EMP e2 ON e1.mgr=e2.empno WHERE DEPT.deptno =e1.deptno
--4.查詢雇員姓名,工作,工資及工資等級
SELECT ename,job ,sal,SALGRADE.grade FROM EMP left JOIN SALGRADE ON sal BETWEEN losal AND hisal
--5.查詢雇員姓名,工作,工資及工資等級,要求工資等級顯示為
--A B C D E
SELECT EMP.ename,EMP.job,EMP.sal, CASE SALGRADE.grade WHEN '1' THEN 'E' WHEN '2' THEN 'D' WHEN '3' THEN 'C' WHEN '4' THEN 'B' WHEN '5' THEN 'A' END AS grade FROM EMP left join SALGRADE on EMP.sal BETWEEN losal AND hisal
--6.查詢雇員姓名,工作,領導的姓名 (左連接 =(+) :以左表為主)
SELECT e1.ename,e1.job,e2.ename FROM EMP e1 LEFT JOIN EMP e2 on e1.mgr=e2.empno
--7.查詢雇員姓名,年薪,按年薪從高到低排序
SELECT ename,sal*12 years FROM EMP ORDER BY years DESC
--8.查詢每個部門中工資最高的雇員姓名,工作,工資,部門名稱,最后按工資從高到低排序
--SELECT ename,job,sal,DEPT.dname FROM DEPT ,EMP where sal ORDER BY empno select a.* from emp a,(select deptno,max(sal) sal from emp group by deptno )b where a.deptno=b.deptno and a.sal=b.sal
--9.查詢每個部門的雇員數量
SELECT deptno,count(*) from EMP GROUP BY deptno
--10.求出每個部門的平均工資
SELECT deptno ,avg (sal) FROM EMP GROUP BY deptno
--11.按部門分組,並顯示部門的名稱,以及每個部門的員工數
SELECT count(*)FROM EMP GROUP BY deptno
--12.要求顯示平均工資大於2000的部門編號和平均工資
SELECT deptno,avg(sal)FROM EMP GROUP BY deptno HAVING avg(sal)>2000
--13.顯示非銷售人員工作名稱以及從事同一工作雇員的月工資的總和,並且要滿足從事同一工作的雇員
--的月工資大於$1500,輸出結果按月工資的合計升序排列
SELECT job,sum(sal) FROM EMP WHERE sal>1500 and job <>'Salesman' GROUP BY job ORDER BY sum(sal)
--14.求出平均工資最高的部門
select top 1 avg(sal),deptno from emp group by deptno ORDER BY avg(sal) DESC
--15.要求查詢出比7654工資要高的全部雇員的信息
select * from EMP WHERE sal>(SELECT sal FROM EMP where empno=7654)
--要求查詢工資比7654高,與7788從事相同工作的全部雇員信息
select * from EMP WHERE sal>(SELECT sal FROM EMP where empno=7654)AND job =(SELECT job FROM EMP WHERE empno =7788)
--16.查詢出工資最低的雇員姓名,工作,工資
SELECT ename,job,sal FROM EMP WHERE sal =(SELECT min(sal)FROM EMP)