【发布时间】:2016-02-17 03:00:49
【问题描述】:
EMPLOYEE (fmane, minit, lname, ssn, birthdate, address, sex, salary, superssn, dno) KEY: ssn
DEPARTMENT (dname, dnumber, mgrssn, mgrstartdate) KEY: dnumber.
PROJECT (pname, pnumber, plocation, dnum) KEY: pnumber.
WORKS_ON (essn, pno, hours) KEY: (essn, pno)
DEPENDENT (essn, dependent-name, sex, bdate, relationship) KEY: (essn, dependent-name
我想用outer join和group by来查询下面的信息,可以吗?
获取员工的 SS 和姓氏
1) 担任部门经理
或
2) 担任任何员工的主管
到目前为止我所拥有的是:
Select e.ssn, e.lname, e.fname
From employee e, department d
where d.mgrssn = e.ssn
union(?)
select s.ssn, s.lname, s.fname
From employee e2, employee s
where e.superssn = s.ssn;
1)我认为我的联合是错误的,有什么办法可以改变它,比如使用外连接和分组来获得我需要的东西。
2) 另外,由于我使用了两个员工,一位导师告诉我,我可以使用员工 1 和员工 2 来区分他们,对吗?有没有不使用两个员工的身份证明?
【问题讨论】:
标签: sql database select group-by outer-join