SQL語句中 AND和OR的區別
區別1:
and是與運算;or是或運算。
區別2:
and運算要前后兩個運算對象都為真是,and運算結果才為真;
or運算是兩個運算對象中有一個為真,or運算結果就為真。
區別3:
and運算中如果第一個條件和第二個條件都成立,則and運算符顯示一條記錄。
or運算中如果第一個條件和第二個條件中只要有一個成立,則or運算符顯示一條記錄。
區別4:
對于SQL語句要執行的動作來說,無論是事務還是查詢,and運算符連接的所有條件都必須為true。
對于SQL語句要執行的動作來說,無論是事務還是查詢,or運算符連接的所有條件中只需要有一個為true即可。
sql中,or與and 的運算級別是不是一樣的
不一樣,and優先級比or高。
or 優先級:倒數第一
and 優先級:倒數第二
select * from AA where a >1 or b>1 and C>1
等同于:
select * from AA where a >1 or (b>1 and C>1 )
如果你只想a>1和c>1建立或關系,則需要寫為:
select * from AA where(a>1 or b>1 )and C>1
擴展資料:
sql 中的運算符級別
and的優先級高于or的優先級,舉個例子:
select * from user where a=1 and b=2or c=3and d=4
上面的sql,where子句中執行的先后順序是:最先是 a=1 and b=2 然后是 c=3 and d=4 最后是兩個結果集or 等于 (a=1 and b=2) or (c=3 and d=4 )
如圖:
結果:運算級別從高到低,or比and低兩級,中間隔了個XOR
注:不僅僅是在Sql Server中,電路中、編程語言中都是and的優先級高于or。
轉載請注明出處華閱文章網 » sql語句or和and