※ 引述《killermech (SONY控)》之銘言:
: 若某企業資料庫中記錄員工的關聯式(relational)資料表(table)之schema如下:
: Employee(EmpNum,Name,Salary,SupNum)
: 各屬性(attritube)之意義順序為員工代碼、姓名、月薪、直屬長官員工代號,其中
: EmpNum為主鍵(PK);SupNum為外來鍵(FK),參照到Employee的EmpNum。
: 請寫一SQL命令,查出每一位月薪在50,000元以上的員工(有管轄員工者)所直
: 接管轄的員工,查詢果包括上司姓名及下屬姓名,並且必須依上司姓名順序再依下屬
: 姓名順序排列。
: P.S.第一次看到這種FK參照到自己PK的Table,鼎文解答根本不知道在寫什麼,請求
: 詳解!!
小弟不才~不知道這樣想法是否正確
以下是我想的SQL:
SELECT S.Name,E.Name
FROM Employee AS E,Employee AS S
WHERE E.SupNum=S.EmpNum AND S.Salary>=50000
ORDER BY S.Name,E.Name;
我的想法是先將一張table命名為E(員工),一張為S(主管)
然後透過員工table的主管編號和主管table結合
再將主管月薪在50000以上的挑出
最後再依主管姓名、員工姓名的順序顯示
還麻煩版上高手們指點~謝謝!!
--
: 若某企業資料庫中記錄員工的關聯式(relational)資料表(table)之schema如下:
: Employee(EmpNum,Name,Salary,SupNum)
: 各屬性(attritube)之意義順序為員工代碼、姓名、月薪、直屬長官員工代號,其中
: EmpNum為主鍵(PK);SupNum為外來鍵(FK),參照到Employee的EmpNum。
: 請寫一SQL命令,查出每一位月薪在50,000元以上的員工(有管轄員工者)所直
: 接管轄的員工,查詢果包括上司姓名及下屬姓名,並且必須依上司姓名順序再依下屬
: 姓名順序排列。
: P.S.第一次看到這種FK參照到自己PK的Table,鼎文解答根本不知道在寫什麼,請求
: 詳解!!
小弟不才~不知道這樣想法是否正確
以下是我想的SQL:
SELECT S.Name,E.Name
FROM Employee AS E,Employee AS S
WHERE E.SupNum=S.EmpNum AND S.Salary>=50000
ORDER BY S.Name,E.Name;
我的想法是先將一張table命名為E(員工),一張為S(主管)
然後透過員工table的主管編號和主管table結合
再將主管月薪在50000以上的挑出
最後再依主管姓名、員工姓名的順序顯示
還麻煩版上高手們指點~謝謝!!
--
All Comments