優先

2016-06-28 84 views
-2

的SQL Server的規則是什麼兩個查詢之間的區別:優先

查詢#1:

select * 
from Employee 
where Job_id = 'SA_REP' OR Job_id = 'AD_PRES' AND salary > 15000 

輸出:

EmpId Last_name Job_ID Salary 
1 King AD_PRES 24000 
2 Abel SA_REP 11000 
3 Taylor SA_REP 8600 
4 Grant SA_REP 7000 

查詢#2:

select * 
from Employee 
where (Job_id = 'SA_REP' OR Job_id = 'AD_PRES') AND salary > 15000 

輸出:

EmpId Last_name Job_ID Salary 
1 King AD_PRES 24000 
+0

一個區別是,如果AND和OR具有相同的優先順序,第二個操作順序是清楚的,無需查找。 –

+0

從您自己的實驗中,您可以看到第一個等同於Job_id ='SA_REP'或(Job_id ='AD_PRES'和薪水> 15000)'另外,可以輕鬆研究運算符優先級。 –

回答

0

在第一個查詢,你會得到所有員工「SA-REP」的JOB_ID不管他們的工資,並與「AD_PRES」的JOB_ID員工和工資> 15000在第二個查詢你會獲得工資> 15000且具有「SA_REP」或「AD_PRES」的Job_ID的員工。