2017-04-27 257 views
0

你好,我不知道該怎麼做這裏是SQL的初學者,我已經調整了如何顯示所有薪水超過平均水平的人。工作人員的平均工資超過平均水平,但低於經理的平均水平? (SQL)

我現在需要顯示所有工資都高於平均水平但低於主管的人。

下面是我輸入的代碼,以獲得大於平均水平的工資。

select first_name, last_name, salary 
from staff 
where salary >(select avg(salary) from staff); 

這是第一款這樣做,但我不知道該怎麼calcalate Salarys因爲如果:人們有工資要少那麼一個主管,但比一般的多。

該表包含:

名字,姓氏,角色,工資

+1

你說'主管'...只有一個? –

+0

對不起,我忘了澄清這一點。是的,在這種情況下只有一個。 –

回答

1

只需添加第二個條件爲WHERE條款:

select first_name, last_name, salary 
from staff 
where salary > (select avg(salary) from staff) and 
     salary < (select min(salary) from staff where role = 'supervisor') 

我解釋的邏輯是,你要增加一個條件,工資低於任何主管。如果只有一個主管,上述查詢應該仍然是正確的。

+0

非常感謝,這個結果非常完美,我會確保記住這個以備將來使用。 –