第九章、练习题二(单独自己写).sql 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. #第九章、练习题二(单独自己写)
  2. #错题及未做的题:9(还是不熟)、11(还是不熟)、13(还是不熟)、18、19、20
  3. #1、查询和Zlotkey相同部门的员工姓名和工资。
  4. #2、查询工资比公司平均工资高的员工的员工号,姓名和工资。
  5. #3、选择工资大于所有JOB_ID = 'SA_MAN'的员工的工资的
  6. #员工的last_name,job_id,salary。
  7. #4、查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名。
  8. #5、查询在部门的location_id为1700的部门工作的员工的员工号。
  9. #6、查询管理者是King的员工姓名和工资。
  10. #7、查询工资最低的员工信息:last_name,salary。
  11. #8、查询平均工资最低的部门信息。
  12. #9、查询平均工资最低的部门信息和该部门的平均工资(相关子查询)。
  13. # 还是不熟
  14. SELECT d.*,(SELECT AVG(salary) FROM employees WHERE department_id = d.department_id)
  15. FROM departments d
  16. WHERE department_id = (
  17. SELECT department_id
  18. FROM employees
  19. GROUP BY department_id
  20. HAVING AVG(salary) <= ALL (
  21. SELECT AVG(salary)
  22. FROM employees
  23. GROUP BY department_id
  24. )
  25. );
  26. #10、查询平均工资最高的job信息。
  27. #11、查询平均工资高于公司平均工资的部门有哪些?
  28. SELECT department_id
  29. FROM employees
  30. WHERE department_id IS NOT NULL
  31. GROUP BY department_id
  32. HAVING AVG(salary) > (
  33. SELECT AVG(salary)
  34. FROM employees
  35. )
  36. #12、查询出公司中所有manager的详细信息。
  37. #13、各个部门中,最高工资中最低的那个部门的最低工资是多少?
  38. SELECT MIN(salary)
  39. FROM employees
  40. WHERE department_id IN (
  41. SELECT department_id
  42. FROM employees
  43. GROUP BY department_id
  44. HAVING MAX(salary) <= ALL (
  45. SELECT MAX(salary)
  46. FROM employees
  47. GROUP BY department_id
  48. )
  49. )
  50. #14、查询平均工资最高的部门的manager的详细信息:
  51. # last_name,department_id,email,salary
  52. #15、查询部门的部门号,其中不包括job_id是“ST_CLERK"的部门号。
  53. #16、选择所有没有管理者的员工的last_name。
  54. #17、查询员工号、姓名、雇佣时间、工资,其中员工的管理者为“De Haan”。
  55. #18、查询各部门中工资比本部门平均工资高的员工的员工号,姓名和工资(相关子查询)
  56. #19、查询每个部门下的部门人数大于5的部门名称(相关子查询)
  57. #20、查询每个国家下的部门个数大于2的国家编号(相关子查询)
  58. SELECT * FROM locations
  59. SELECT country_id
  60. FROM locations l
  61. WHERE 2 < (
  62. SELECT COUNT(*)
  63. FROM departments d
  64. WHERE l.location_id = d.location_id
  65. )