员工可以在很多部门工作,而且每个部门可以有很多员工。因此需要一个关系表关系表上的SQL查询
表:
EMP(EID,为ename,EAGE,esalary)
工程(EID,确实,pct_time)
部门(确实,DNAME,预算,经理ID)
找到所有在这两种软件工作的员工和硬件:
SELECT e.ename FROM EMP e, Works w, Dept d
WHERE e.eid = w.eid AND w.did = d.did AND d.did =
(SELECT did FROM dept WHERE dname = 'Hardware' OR 'Software')
按乔恩:
SELECT e.ename FROM EMP e OR Works w OR Dept d
WHERE e.eid = w.eid AND w.did = d.did AND d.did =
(SELECT did FROM dept WHERE dname = 'Hardware' OR 'Software')
而我只是不知道如何确保在同一个eid下的硬件和软件的Works中有两个条目。
您的'从雇主或工作部门或者部门'语法是标准SQL符号上的一项创新。我担心你正在使用的DBMS可能会对语法采取异常并拒绝你的SQL语句。 – 2012-07-25 03:34:22