MySQL-sql99-select、from後面的子查詢
阿新 • • 發佈:2022-05-23
select後面
案例:查詢每個部門的員工個數
# 案例:查詢每個部門的員工個數
SELECT d.*,(
SELECT COUNT(*)
FROM `employees` e
WHERE e.`department_id`=d.`department_id`
) 個數
FROM `departments` d;
案例:查詢員工號=102的部門名
# 案例:查詢員工號=102的部門名 select ( select `department_name` from `departments` d inner join `employees` e on e.`department_id`=d.`department_id` where e.`employee_id`=102 ) 部門名;
三、from後面
案例:查詢每個部門的平均工資的工資等級
先查詢每個部門的平均工資
# ① 查詢每個部門的平均工資
select avg(`salary`),`department_id`
from `employees` e
group by `department_id`
然後②連線①的結果集和job_grades表,篩選條件平均工資between lowest_sal and highest_sal
#②連線①的結果集和job_grades表,篩選條件平均工資between lowest_sal and highest_sal select ag_dep.*,g.`grade_level` from ( select avg(`salary`) ag,`department_id` from `employees` e group by `department_id` )ag_dep inner join `job_grades` g on ag_dep.ag between lowest_sal and highest_sal;