中華電信 101年專四 計算機概 資料庫題目 - 考試

Table of Contents

※ 引述《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以上的挑出

最後再依主管姓名、員工姓名的順序顯示

還麻煩版上高手們指點~謝謝!!

--

All Comments

Hardy avatarHardy2014-01-21
請問一下,題意是否指50,000以上的員工為主管,而下屬
不會超過50000元
Eden avatarEden2014-01-22
應該不管員工薪水多少錢,只找出薪水在5萬以上的主管,然後列出
Xanthe avatarXanthe2014-01-22
其員工姓名+主管姓名,我解出來的答案也跟上面一樣
Rosalind avatarRosalind2014-01-25
感謝強者
Charlie avatarCharlie2014-01-27
這年頭計概考這個喔= = 我學資庫才會的欸