"select dd.dept_no,dd.dept_name,count(dd.dept_no) as sum from (salaries ss left join (select ds.dept_no,ds.dept_name,dp.emp_no from departments ds right join dept_emp dp on ds.dept_no = dp.dept_no) as dd on ss.emp_no = dd.emp_no)". #这里是取出来了不分种类数,然后就剩归类了 group by dd.dept_no #这里是按照dept_no来分组,就是归类 order by dd.dept_no 我每次都会弄混,就是嵌套后最终表名用哪一个,今天发现了,要用最终的表名,不能用中间的表名, 用最终的表名,另外就是表连接那里,新连接出来的表,可以用原来的表名。这里就是dd # select de.dept_no,de.dept_name,sa.salary # from (departments de # right join # (select de.dept_no,sa.emp_no,sa.salary # from dept_emp de right join salaries sa on # de.emp_no = sa.emp_no) as ds # on # de.dept_no = ds.dept_no)