資料庫問題請教 - 考試

Table of Contents

Employee(SSN,LName,FName,Sex,Address,Salary,DNO)
Department(Dnumber,Dname,MGRSSN)
員工(身分證字號,姓,名,性別,地址,薪水,部門編號)
部門(部門編號,名稱,經理之身分證字號)

題目:請依部門名稱,列出每個部門有多少員工數目、各部門員工之最高薪水和最低薪水

SELECT Dname,count(*),MIN(Salary),MAX(Salary)
FROM Employee,Department
WHERE DNO=Dname
GROUP BY Dname

課本上是這樣寫,一開始看的時候,覺得還蠻合理的

但仔細看發現怪怪的

Salary根本不在group by的欄位中

這樣實務上是會有error產生

如果直接goup by Dname,Salary語意上好像又不怎麼合理

請問這該如何修改呢?

--

All Comments

Bennie avatarBennie2014-02-12
min max都是聚合函數 所以沒差!
Steve avatarSteve2014-02-15
where 子句應該為DNO=Dnumber
Agnes avatarAgnes2014-02-15
OK,我了解了,謝謝