MySQL Advanced Select1
Amber集团公司刚刚收购了一些新公司。每个公司都遵循这样的层次结构:
数据保存在如下的表中:
- Company:company_code为公司的代码,founder为公司的创始人
- Lead_Manager:lead_manager_code为牵头经理的代码,company_code为其所在公司代码
- Senior_Manager:senior_manager_code为高级经理的代码,lead_manager_code为其领导牵头经理的代码,company_code为其所在公司代码
- Manager:
- Employee:
查询打印出company_code,创始人名称,lead_manager人数,senior_manager人数,manager人数,employee人数,按company_code正序排列。
查询语句如下:
SELECT DISTINCT
c.company_code,
c.founder,
count(DISTINCT l.lead_manager_code),
count(DISTINCT s.senior_manager_code),
count(DISTINCT m.manager_code),
count(DISTINCT e.employee_code)
FROM company c, lead_manager l, senior_manager s, manager m, employee e
WHERE c.company_code = l.company_code
AND l.lead_manager_code = s.lead_manager_code
AND s.senior_manager_code = m.senior_manager_code
AND m.manager_code = e.manager_code
GROUP BY c.company_code, c.founder
ORDER BY company_code ASC;