@jaiminc
2015-07-22T15:52:44.000000Z
字数 678
阅读 1723
MySQL
使用连接查询的方式,查询出各员工所在部门的人数与工程数,工程数命名为count_project。(连接3个表,并使用COUNT内置函数)
table employee
| id | name | age | salary | phone | in_dpt |table department
| dpt_name | people_num |tabel project
| proj_num | proj_name | start_date | end_date | of_dpt |
on e.in_dpt=d.dpt_bane
on d.dpt_name=p.of_dpt
必须用到group进行分组
建立一个中间表来联系dpt_name和count_project。建立方法是利用子查询
最终答案:
mysql> select e.id,e.name,e.in_dpt,newtable.dpt_name,newtable.count_project
-> from employee e join
-> (select d.dpt_name,d.people_num,count(p.proj_num) count_project
-> from department d join project p
-> on d.dpt_name=p.of_dpt
-> group by d.dpt_name,d.people_num)
-> newtable
-> on e.in_dpt=newtable.dpt_name;