MySQL |OR運算符
概論::本章講如何用or運算符來連接多個布爾值來過濾數據。
MySQL OR 操作符
MySQL OR 操作符聯建兩個布爾表達式,只要其中一個為真,則結果為真。
如下的表達式:.
1boolean_expression_1 OR boolean_expression_2n
boolean_expression_1 OR boolean_expression_2 返回true,false,null.
MySQL OR 短路估值
MySQL OR操作符與and一樣用短路估值,也就是說,mysql一旦可以判斷最終結果就不會繼續之後後面的語句。
例如:
SELECT 1 = 1 OR 1 / 0;n
返回值為true
因為1=1為ture,在or操作符中,只要有一個true,那麼,無論之後為任何值,得到的結果都是true,所以,之後就不會有再多的判斷。
操作符的優先順序
and和or都是操作符,但and的有優先順序在or之前,也就是在有and和or同時存在的情況,優先計算and操作符,然後再計算or操作符。
例如:
SELECT true OR false AND false;n
1.先計算 and操作符,儘管and的位置靠後
2.在計算and操作符的結果與or進行計算,最後的到的結果為1
那麼,在我們使用操作符的時候,盡量用括弧將要優先計算的操作符包括。
實例:
SELECT ncustomername, countrynFROMncustomersnWHEREncountry = USA OR country = France;n
1.篩選是usa或france的顧客
SELECT
customername, country, creditLimitnFROMncustomersnWHEREn(country = USA OR country = France)nAND creditlimit > 100000;n
2.篩選usa或france且額度大於100000的客戶
SELECTncustomername, country, creditLimitnFROMncustomersnWHEREncountry = USA OR country = France AND creditlimit > 100000;n
3.篩選usa的客戶或france的額度大於10000的客戶。
推薦閱讀:
※shiny儀錶盤應用——2016年美國大選數據可視化案例
※數值型與字元型轉換總結|R語言
※Learn R | 機器學習中的人工神經網路(七)
※PolYamoR的簡介:Python和R之間的雙向翻譯器