将子查询结果充当一张表,要求必须起别名。
-- 案例:查询每个部门的平均工资的工资等级-- ①查询每个部门的平均工资SELECT AVG(salary), department_idFROM employeesGROUP BY department_id;SELECT * FROM job_grades;-- ②连接①的结果集和job_grades表,筛选条件平均工资 between lowest_sal and highest_salSELECT ag_dep.*,g.`grade_level`FROM (SELECT AVG(salary) ag,department_idFROM employeesGROUP BY department_id) ag_depINNER JOIN job_grades gON ag_dep.ag BETWEEN lowest_sal AND highest_sal;
