102年高考-資料庫SQL解答
已知有一手機製造公司資料庫綱目(database schema)如下:
工程師(編號,名字,年齡,性別,薪水)
產品(代號,名目,年銷售量,售價)
設計(編號,代號)
請用SQL回答下列問題:
(一)列出公司所有男工程師的平均薪水。(5分)
(二)對於沒有參與任何一項產品設計的工程師,或者所參與設計的產品年銷售量低於1萬隻的,列出這些工程師的名字和年齡。(10分)
(三)針對年銷售量高於20萬隻的每一項產品,且參與設計此產品的工程師數目不超過5人的,列出其產品名目和工程師的平均薪水。(10分)
SQL解答
(一) 難度:一顆心
SELECT AVG(薪水)
FROM 工程師
WHERE 性別='男'
(二) 難度:三顆心
SELECT 名字,年齡
FROM 工程師 E
WHERE NOT EXISTS (
這題經過實際SQL驗證100%正確!!
(三) 難度:三顆心
SELECT 名目,AVG(薪水)
FROM 工程師 E,產品 P,設計 D
WHERE E.編號=D.編號 AND
P.代號=D.代號 AND
年銷售量>200000
GROUP BY 代號
HAVING COUNT(*) < 5
工程師(編號,名字,年齡,性別,薪水)
產品(代號,名目,年銷售量,售價)
設計(編號,代號)
請用SQL回答下列問題:
(一)列出公司所有男工程師的平均薪水。(5分)
(二)對於沒有參與任何一項產品設計的工程師,或者所參與設計的產品年銷售量低於1萬隻的,列出這些工程師的名字和年齡。(10分)
(三)針對年銷售量高於20萬隻的每一項產品,且參與設計此產品的工程師數目不超過5人的,列出其產品名目和工程師的平均薪水。(10分)
SQL解答
(一) 難度:一顆心
SELECT AVG(薪水)
FROM 工程師
WHERE 性別='男'
(二) 難度:三顆心
SELECT 名字,年齡
FROM 工程師 E
WHERE NOT EXISTS (
SELECT *
FROM 產品 P, 設計 D
WHERE E.EID = D.EID
AND P.PID = D.PID
AND Sell >=10000
)FROM 產品 P, 設計 D
WHERE E.EID = D.EID
AND P.PID = D.PID
AND Sell >=10000
這題經過實際SQL驗證100%正確!!
(三) 難度:三顆心
SELECT 名目,AVG(薪水)
FROM 工程師 E,產品 P,設計 D
WHERE E.編號=D.編號 AND
P.代號=D.代號 AND
年銷售量>200000
GROUP BY 代號
HAVING COUNT(*) < 5
留言
張貼留言