OR运算符
6.2.2? OR運算符
OR運算符表示“或”的關(guān)系。當(dāng)可能有多個條件為True,但只要有一個為True就滿足搜索要求時,可以使用OR運算符來組合搜索條件。OR在結(jié)合兩個布爾表達式時,只要其中一個條件為True時,便傳回True。OR運算符的真值表如表6-3所示。
表6-3?OR真值表
| 表?達?式?一 | 表?達?式?二 | 結(jié)????果 |
| True | True | True |
| True | False | True |
| True | NULL | True |
| False | False | False |
| False | NULL | NULL |
| NULL | NULL | NULL |
注意?NULL與True進行OR運算時,結(jié)果為True而不是NULL。
語法如下:
| SELECT??column FROM ??table_name WHERE???? condition1 OR??????? ?condition2 |
在WHERE子句中,通過OR運算符連接了兩個查詢條件condition1和condition2,只要其中一個條件為True,WHERE子句值就為True,DBMS會將當(dāng)前記錄包括在結(jié)果表中;如果WHERE子句求值為False或NULL,則DBMS排除該值。
實例3? 使用OR運算符實現(xiàn)條件查詢
從TEACHER表中查詢計算機系和生物系的所有教師的姓名(TNAME)、系(DNAME)、工資(SAL)信息。實例代碼:
| SELECT??TNAME, DNAME, SAL FROM ??TEACHER WHERE? ??DNAME='計算機' OR???DNAME='生物' ORDER BY??? ?DNAME |
運行結(jié)果如圖6.3所示。
| ? |
| 圖6.3? 計算機和生物系的教師 |
NULL與True進行OR運算時,結(jié)果為True。下面通過一個實例來說明。
實例4? NULL與True進行OR運算
從TEACHER表中查詢工資(SAL)高于1500或者年齡小于45的教師的所有信息。實例代碼:
| SELECT??* FROM ??TEACHER WHERE? ??SAL >1500 OR???AGE < 45 ORDER BY??? ?SAL |
運行結(jié)果如圖6.4所示。
| ? |
| 圖6.4? 年齡小于45或者工資大于1500的教師 |
從結(jié)果中,不難發(fā)現(xiàn)前兩條記錄的SAL列均為NULL。雖然判別式“SAL >1500”對這兩條記錄的計算結(jié)果為NULL,但是判別式“AGE < 45”的計算結(jié)果為True,因此再經(jīng)過OR運算,最終WHERE子句結(jié)果為True。
總結(jié)
- 上一篇: Github 爆火!程序员疯抢的 Jav
- 下一篇: oracle 10g下载百度云地址