1. -- 1. 查询工资最低的员工信息: last_name, salary
    2. -- ①查询最低的工资
    3. SELECT MIN(salary)
    4. FROM employees
    5. -- ②查询last_name,salary,要求salary=①
    6. SELECT last_name,salary
    7. FROM employees
    8. WHERE salary=(
    9. SELECT MIN(salary)
    10. FROM employees
    11. );
    12. -- 2. 查询平均工资最低的部门信息
    13. -- 方式一:
    14. -- ①各部门的平均工资
    15. SELECT AVG(salary),department_id
    16. FROM employees
    17. GROUP BY department_id
    18. -- ②查询①结果上的最低平均工资
    19. SELECT MIN(ag)
    20. FROM (
    21. SELECT AVG(salary) ag,department_id
    22. FROM employees
    23. GROUP BY department_id
    24. ) ag_dep
    25. -- ③查询哪个部门的平均工资=②
    26. SELECT AVG(salary),department_id
    27. FROM employees
    28. GROUP BY department_id
    29. HAVING AVG(salary)=(
    30. SELECT MIN(ag)
    31. FROM (
    32. SELECT AVG(salary) ag,department_id
    33. FROM employees
    34. GROUP BY department_id
    35. ) ag_dep
    36. );
    37. -- ④查询部门信息
    38. SELECT d.*
    39. FROM departments d
    40. WHERE d.`department_id`=(
    41. SELECT department_id
    42. FROM employees
    43. GROUP BY department_id
    44. HAVING AVG(salary)=(
    45. SELECT MIN(ag)
    46. FROM (
    47. SELECT AVG(salary) ag,department_id
    48. FROM employees
    49. GROUP BY department_id
    50. ) ag_dep
    51. )
    52. );
    53. -- 方式二:
    54. -- ①各部门的平均工资
    55. SELECT AVG(salary),department_id
    56. FROM employees
    57. GROUP BY department_id
    58. -- ②求出最低平均工资的部门编号
    59. SELECT department_id
    60. FROM employees
    61. GROUP BY department_id
    62. ORDER BY AVG(salary)
    63. LIMIT 1;
    64. -- ③查询部门信息
    65. SELECT *
    66. FROM departments
    67. WHERE department_id=(
    68. SELECT department_id
    69. FROM employees
    70. GROUP BY department_id
    71. ORDER BY AVG(salary)
    72. LIMIT 1
    73. );
    74. -- 3. 查询平均工资最低的部门信息和该部门的平均工资
    75. -- ①各部门的平均工资
    76. SELECT AVG(salary),department_id
    77. FROM employees
    78. GROUP BY department_id
    79. -- ②求出最低平均工资的部门编号
    80. SELECT AVG(salary),department_id
    81. FROM employees
    82. GROUP BY department_id
    83. ORDER BY AVG(salary)
    84. LIMIT 1;
    85. -- ③查询部门信息
    86. SELECT d.*,ag
    87. FROM departments d
    88. JOIN (
    89. SELECT AVG(salary) ag,department_id
    90. FROM employees
    91. GROUP BY department_id
    92. ORDER BY AVG(salary)
    93. LIMIT 1
    94. ) ag_dep
    95. ON d.`department_id`=ag_dep.department_id;
    96. -- 4. 查询平均工资最高的 job 信息
    97. -- ①查询最高的job的平均工资
    98. SELECT AVG(salary),job_id
    99. FROM employees
    100. GROUP BY job_id
    101. ORDER BY AVG(salary) DESC
    102. LIMIT 1
    103. -- ②查询job信息
    104. SELECT *
    105. FROM jobs
    106. WHERE job_id=(
    107. SELECT job_id
    108. FROM employees
    109. GROUP BY job_id
    110. ORDER BY AVG(salary) DESC
    111. LIMIT 1
    112. );
    113. -- 5. 查询平均工资高于公司平均工资的部门有哪些?
    114. -- ①查询平均工资
    115. SELECT AVG(salary)
    116. FROM employees
    117. -- ②查询每个部门的平均工资
    118. SELECT AVG(salary),department_id
    119. FROM employees
    120. GROUP BY department_id
    121. -- ③筛选②结果集,满足平均工资>①
    122. SELECT AVG(salary),department_id
    123. FROM employees
    124. GROUP BY department_id
    125. HAVING AVG(salary)>(
    126. SELECT AVG(salary)
    127. FROM employees
    128. );
    129. -- 6. 查询出公司中所有 manager 的详细信息.
    130. -- ①查询所有manager的员工编号
    131. SELECT DISTINCT manager_id
    132. FROM employees
    133. -- ②查询详细信息,满足employee_id=①
    134. SELECT *
    135. FROM employees
    136. WHERE employee_id =ANY(
    137. SELECT DISTINCT manager_id
    138. FROM employees
    139. );
    140. -- 7. 各个部门中 最高工资中最低的那个部门的 最低工资是多少
    141. -- ①查询各部门的最高工资中最低的部门编号
    142. SELECT department_id
    143. FROM employees
    144. GROUP BY department_id
    145. ORDER BY MAX(salary)
    146. LIMIT 1
    147. -- ②查询①结果的那个部门的最低工资
    148. SELECT MIN(salary) ,department_id
    149. FROM employees
    150. WHERE department_id=(
    151. SELECT department_id
    152. FROM employees
    153. GROUP BY department_id
    154. ORDER BY MAX(salary)
    155. LIMIT 1
    156. );
    157. -- 8. 查询平均工资最高的部门的 manager 的详细信息: last_name, department_id, email, salary
    158. -- ①查询平均工资最高的部门编号
    159. SELECT
    160. department_id
    161. FROM
    162. employees
    163. GROUP BY department_id
    164. ORDER BY AVG(salary) DESC
    165. LIMIT 1
    166. -- ②将employeesdepartments连接查询,筛选条件是①
    167. SELECT
    168. last_name, d.department_id, email, salary
    169. FROM
    170. employees e
    171. INNER JOIN departments d
    172. ON d.manager_id = e.employee_id
    173. WHERE d.department_id =
    174. (SELECT
    175. department_id
    176. FROM
    177. employees
    178. GROUP BY department_id
    179. ORDER BY AVG(salary) DESC
    180. LIMIT 1) ;