2017-09-02 40 views
0

假設我有一個名爲Employee的表,名稱爲Salary,Salary,Department。SQL:是否需要在SELECT子句中列出GROUP BY子句中的所有屬性?

我知道,這將工作:

SELECT Department, AVG(Salary) 
FROM EMPLOYEE 
GROUP BY Department; 

難道是不正確的,從SELECT子句拋棄「處」,像這樣:

SELECT AVG(Salary) 
FROM EMPLOYEE 
GROUP BY Department; 

還是會仍然工作?

+1

'AVG(薪水)'仍然是一樣的,但是,使用第二個查詢,您不會知道每個平均工資與哪個部門相關。 –

+1

試試看看它是否有效。 –

+0

您需要閱讀SQL的介紹。此外,在提問時,您可以準確解釋您的意思,例如「它仍然有效」。 – philipxy

回答

0

這兩個查詢都可以工作並提供輸出。然而,第二個查詢只會造成一列(即平均工資),因此,您將無法追蹤它回到部門ID從第二單獨查詢,如:

查詢1個輸出:

dept | salary 
1 | 5000 
2 | 6000 

查詢2輸出:

salary 
5000 
6000 
0

沒有,不一定。您也可以使用第二個查詢。但是您無法看到哪些離職的薪水是通過'group-by'關鍵詞排序的。

相關問題