1. 程式人生 > 其它 >MySQL-sql99-select、from後面的子查詢

MySQL-sql99-select、from後面的子查詢

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;