題組內容

一、已知某單位建置專案管理系統的關聯式資料庫關聯表及外鍵的參考定 義如下: 
Employee(eID, eName, dID) FKs dID ref. Department(dID) 
Qualified(eID, sID, qDate) FKs eID ref. Employee(eID), sID ref. Skill(sID) 
Skill(sID, sName) 
Department(dID, dName) 
Project (pID, pOwner) FKs pOwner ref. Employee(eID) 
Participation(pID, eID) FKs pID ref. Project(pID), eID ref. Employee(eID)

⑴請使用單一 SQL 查詢指令找出具備技能代號(sID)為’001’,但不具 備有技能代號’002’技能的所有員工工號(eID)與員工姓名(eName)。 (15分)

詳解 (共 3 筆)

ㄓㄩ
ㄓㄩ
詳解 #5473841
2022/05/23
SELECT eID, eNameFRO...
(共 216 字,隱藏中)
前往觀看
hchungw
hchungw
詳解 #6113919
2024/05/30
SELECT e.eID, e.eName
FROM Employee e
WHERE e.eID IN (
    SELECT q1.eID
    FROM Qualified q1
    WHERE q1.sID = '001'
)
AND e.eID NOT IN (
    SELECT q2.eID
    FROM Qualified q2
    WHERE q2.sID = '002'
);
這個查詢指令的解釋如下:
首先,內部子查詢 SELECT q1.eID FROM Qualified q1 WHERE q1.sID = '001' 找出具備技能代號為 '001' 的所有員工工號。
然後,另一個內部子查詢 SELECT q2.eID FROM Qualified q2 WHERE q2.sID = '002' 找出具備技能代號為 '002' 的所有員工工號。
最後,在主查詢中,通過 WHERE e.eID IN (...) AND e.eID NOT IN (...) 條件來篩選出具備技能代號為 '001' 並且不具備技能代號 '002' 的員工工號和姓名。
R考生
R考生
詳解 #6067075
2024/04/14
SELECT eID, eName
FROM Employee
WHERE eID IN ( SELECT eID FROM Qualified WHERE sID = '001' )
AND eID NOT IN ( SELECT eID FROM Qualified WHERE sID = '002' );

私人筆記 (共 2 筆)

葉佩
葉佩
私人筆記 #2650956
2020/11/21
SELECT eID,eName FR...
(共 109 字,隱藏中)
前往觀看
test123
test123
私人筆記 #2925341
2021/03/26
SELECT e.eID, e.eNam...
(共 130 字,隱藏中)
前往觀看