這裏是我的查詢,我需要列出的教授,只有有一定的月薪,而是爲了通過他們的年薪
SELECT pr_id, pr_name, pr_date_hired, pr_title, pr_college, pr_salary
FROM professor
WHERE pr_college NOT IN ('Education' ,'Social Sciences')
AND (pr_salary/12 BETWEEN 5000 AND 8000)
ORDER BY pr_salary DESC;
我想通了,謝謝你們! 我必須在where語句中進行劃分,以便我可以按年薪而不是月薪來訂購。
編輯:我改成了12 * 5000和12 * 8000,它給了/同樣的答案pr_salary 12
那麼是什麼問題?你知道如何使用'WHERE'來執行過濾。什麼阻止你添加你需要的過濾器? (順便說一句,按月工資排序,按年薪計算產生完全相同的結果。) – hvd
你很困惑。按計算的月薪計算訂單與年薪相同。想想看。自己做數學。使用三名員工,年薪分別爲36,000,2,4,000和12,000。然後除以12得到每月3,000,2,000和1,000。按工資排列這兩個清單,他們將以**完全相同的順序**。 –
我強烈建議你使用'pr_salary BETWEEN 12 * 5000 AND 12 * 8000'來代替'pr_salary/12 BETWEEN 5000和8000',因爲如果'pr_salary'列被索引,Oracle將無法使用索引if你乘以/除等。索引欄 – MaxU