我遇到了这个问题而且不知道该怎么做。我有以下问题。 显示公司中所有部门的名称及其经理的姓名。您的查询必须显示公司中的所有部门,即使它没有经理。
我的问题是,当我运行查询只给我部门名称时,我得到了27个结果。但是对于经理查询,只有18个结果。
我不知道该怎么做。我以前得到的查询是,部门名称:
--select department_name from departments;
Administration
Marketing
Purchasing
Human Resources
Shipping
IT
Public Relations
Sales
Executive
Finance
Accounting
Treasury
Corporate Tax
Control And Credit
Shareholder Services
Benefits
Manufacturing
Construction
Contracting
Operations
IT Support
NOC
IT Helpdesk
Government Sales
Retail Sales
Recruiting
Payroll
第二部分:
select first_name, last_name, department_name from employees e inner join departments d on
d.department_id=e.department_id where (employee_id in (select manager_id from employees));
first_name last_name department_name
Steven King Executive
Neena Kochhar Executive
Lex De Haan Executive
Alexander Hunold IT
Nancy Greenberg Finance
Den Raphaely Purchasing
Matthew Weiss Shipping
Adam Fripp Shipping
Payam Kaufling Shipping
Shanta Vollman Shipping
Kevin Mourgos Shipping
John Russell Sales
Karen Partners Sales
Alberto Errazuriz Sales
Gerald Cambrault Sales
Eleni Zlotkey Sales
Michael Hartstein Marketing
Shelley Higgins Accounting
第二部分仅向经理人返回部门。
答案 0 :(得分:0)
select e.first_name, e.last_name, d.department_name
from employee e right join department d
on e.department_id = d.department_id
where e.employee_id in (select manager_id from employee)
or e.manager_id is null;
答案 1 :(得分:0)
对于那些感兴趣的人:
选择d.department_name为'Department Name',e.first_name为'Manager First Name',e.last_name为'Manager Last Name'来自部门d 左外连接员工e在d.department_id = e.department_id和(employee_id in(select manager_id from employees))order by department_name;
得到我教授的答案