0
這是數據庫:中期解決方案SQL
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)
問的問題是...
給最後的名字,誰在兩個 或工作的未婚員工的SSN更多的項目。
SELECT e.Lname, e.ssn
FROM Employee AS e
WHERE e.ssn IN (
SELECT w.essn
FROM works_on w
GROUP BY w.essn
HAVING count(*) >= 2
)
AND e.ssn NOT IN (
SELECT essn
FROM dependent
WHERE relationship = 'Spouse'
);
我的回答是錯誤的,因爲我沒有使用e.ssn NOT IN
條款。
我的問題是:
1)什麼是group by
用於?嚴格只適用於作品?
2)關於FROM Employee AS e
,是AS
一個錯字或命令?
3)having
是否包含?它可以被其他命令取代嗎?
嘿傑夫如果你有時間你可以回答我有其他問題,我不能問另一個問題,但在Stackoverflow的問題 –
有沒有我可以達到你的電子郵件地址? –
我用它來說,HAVING就像集合函數的WHERE。 – jarlh