MySQL基礎練習3

這次的33題難度感覺高一些,還是慣例給出表格和問題,附上我的答案鏈接,有問題歡迎私信討論,謝謝各位,感謝點贊關注!

emp表:

dept表:

salgrade表:

1、取得每個部門中的最高薪水的人員名稱。

第一步:取得每個部門的最高薪水。

第二步:把上面獲得的結果作為臨時表t,然後與emp表進行內連接中的等值連接,連接條件為emp表的deptno,sal和t中的deptno,maxsal相等。

2、哪些人的薪水在部門的平均薪水之上。

第一步:取得每個部門的平均薪水。

第二步:把上面獲得的結果作為臨時表t,與emp表進行內連接中的等值連接,連接的條件為emp中的deptno和t中的deptno相等,並且emp中的sal大於t中的avgsal。

3、

取得部門(所有人的)平均薪水的等級:

第一步:取得每個部門的平均薪水。

第二步:把上面的結果作為臨時表t與salgrade表進行內連接中的非等值連接,條件為臨時表中的avgsal在salgrade表中losal和hisal之間。

薪水等級的平均等級:

第一步:取得部門每個人的薪水等級。

第二步:將上面的結果作為臨時表t,將deptno作為分組欄位,用avg對grade求平均值。

4、不準用分組函數(Max),取得最高薪水(給出兩種解決方案)。

第一種方法:

第二種方法:

5、取得平均薪水最高的部門的部門編號(至少給出兩種解決方案)

第一種方法:

第二種方法:

6、取得平均薪水最高的部門的部門名稱。

7、求平均薪水的等級最低的部門的部門名稱。

8、取得比普通員工(員工代碼沒有在mgr欄位上出現的)的最高薪水還要高的領導人姓名。

9、取得薪水最高的前五名員工。

10、取得薪水最高的第六到第十名員工。

11、取得最後入職的5名員工。

12、取得每個薪水等級有多少員工

13、列出所有員工及領導的姓名

14、列出受雇日期早於其直接上級的所有員工的編號,姓名,部門名稱

15、列出部門名稱和這些部門的員工信息,同時列出那些沒有員工的部門.

16、列出至少有5個員工的所有部門

17、列出薪金比"SMITH"多的所有員工信息.

18、列出所有"CLERK"(辦事員)的姓名及其部門名稱,部門的人數.

19、列出最低薪金大於1500的各種工作及從事此工作的全部僱員人數.

20、列出在部門"SALES"<銷售部>工作的員工的姓名,假定不知道銷售部的部門編號.

21、列出薪金高於公司平均薪金的所有員工,所在部門,上級領導,僱員的工資等級.

22、列出與"SCOTT"從事相同工作的所有員工及部門名稱.

23、列出薪金等於部門30中員工的薪金的其他員工的姓名和薪金.

24、列出薪金高於在部門30工作的所有員工的薪金的員工姓名和薪金.部門名稱.

25、列出在每個部門工作的員工數量,平均工資和平均服務期限.

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

27、列出所有部門的詳細信息和人數

28、列出各種工作的最低工資及從事此工作的僱員姓名

29、列出各個部門的MANAGER(領導)的最低薪金

30、列出所有員工的年工資,按年薪從低到高排序

31、求出員工領導的薪水超過3000的員工名稱與領導名稱

32、求出部門名稱中,帶S字元的部門員工的工資合計、部門人數.

33、給任職日期超過30年的員工加薪10%.


推薦閱讀:

談談MySQL存儲引擎
【阿里雲大學課程】MySQL大牛丁奇:分散式資料庫技術與實現
mysql pid文件是什麼用途?
解決阿里雲VPS伺服器mysql自動關閉的問題
12 條用於 Linux 的 MySQL/MariaDB 安全最佳實踐

TAG:MySQL入門 | MySQL | SQL |