[关闭]
@jaiminc 2015-07-22T15:52:44.000000Z 字数 678 阅读 1599

MySQL实验楼教程-select作业

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 |


表的连接

计数(count)

必须用到group进行分组

核心思路

建立一个中间表来联系dpt_name和count_project。建立方法是利用子查询

最终答案:

  1. mysql> select e.id,e.name,e.in_dpt,newtable.dpt_name,newtable.count_project
  2. -> from employee e join
  3. -> (select d.dpt_name,d.people_num,count(p.proj_num) count_project
  4. -> from department d join project p
  5. -> on d.dpt_name=p.of_dpt
  6. -> group by d.dpt_name,d.people_num)
  7. -> newtable
  8. -> on e.in_dpt=newtable.dpt_name;
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注