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 安全最佳實踐