2019-08-27 SQL練習(xí)題

總結(jié):通過這18道練習(xí)題,理解了left join,right join 和子查詢。學(xué)會(huì)了coun(*)和group by的搭配使用。有疑問的是第13題的“在每個(gè)部門工作的員工數(shù)量”、“平均服務(wù)期限”計(jì)算和第15題的“部門人數(shù)”。

1.列出至少有一個(gè)員工的所有部門。

2.列出薪金比“SMITH”多的所有員工。

3.列出所有員工的姓名及其直接上級(jí)的姓名。

4.列出受雇日期早于其直接上級(jí)的所有員工。

5.列出部門名稱和這些部門的員工信息,同時(shí)列出那些沒有員工的部門

6.列出所有“CLERK”(辦事員)的姓名及其部門名稱。

7.列出最低薪金大于1500的各種工作。

8.列出在部門“SALES”(銷售部)工作的員工的姓名,假定不知道銷售部的部門編號(hào)。

9.列出薪金高于公司平均薪金的所有員工。

10.列出與“SCOTT”從事相同工作的所有員工。

11.列出薪金等于部門30中員工的薪金的所有員工的姓名和薪金。

12.列出薪金高于在部門30工作的所有員工的薪金的員工姓名和薪金。

13.列出在每個(gè)部門工作的員工數(shù)量、平均工資和平均服務(wù)期限。

14.列出所有員工的姓名、部門名稱和工資。

15.列出所有部門的詳細(xì)信息和部門人數(shù)。

16.列出各種工作的最低工資。

17.列出各個(gè)部門的MANAGER(經(jīng)理)的最低薪金。

18.列出所有員工的年工資,按年薪從低到高排序。


1.SELECT dname

from dept

where deptno in(select deptno from emp)


2.SELECT ename,sal

from emp

WHERE sal > (select sal from emp where ename = 'SMITH')


3.select a.ename,(select ename from emp as b where b.empno=a.mgr)as boss_name

from emp a


4.select a.ename

from emp a

where a.hiredate<(select hiredate from emp as b where b.empno=a.mgr)


5.select a.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.comm,b.deptno

from dept a left join emp b on a.deptno = b.deptno


6.select a.ename,b.dname

from emp a join dept b

on a.job = 'CLERK' and a.deptno = b.deptno


7.select DISTINCT job

from emp

GROUP BY job having min(sal) > 1500


8.select ename

from emp

where deptno = (SELECT deptno from dept where dname = 'sales')


9.select ename

from emp

where sal > (select avg(sal) from emp)


10.select ename

from emp

where job in(select job from emp where ename = 'scott' )


11.select a.ename,a.sal

from emp a

where a.sal in(select b.sal from emp b where b.deptno = 30) and a.deptno<>30


12.select ename,sal

from emp

where sal > (select max(sal) from emp? where deptno = 30)


13.SELECT deptno,COUNT(*),AVG(sal),AVG(DATEDIFF(now(),hiredate))

FROM emp

GROUP BY deptno


14.select a.ename,b.dname,a.sal

from emp a join dept b on a.deptno = b.deptno


15.select dept.deptno, dept.dname,dept.loc,count(*)

from emp join dept on emp.deptno = dept.deptno

GROUP BY emp.deptno


16.SELECT job,min(sal)

?from emp

GROUP BY job


17.select deptno,min(sal)

from emp

where job = 'manager' GROUP BY deptno


18.select ename,sal*12 as yearsal

from emp

ORDER BY yearsal

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容