員工可以在很多部門工作,而且每個部門可以有很多員工。因此需要一個關係表關係表上的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