在oracle中,not用于對指定的條件取反,當指定的條件為真時,not的結果就是假,當指定的條件為假時,not的結果就是真,語法為“Select where not 條件表達式”。
本教程操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
oracle中not的用法是什么
Oracle的邏輯運算符也是用在SQL語句中必不可少的因素,一共有三個
邏輯運算符 意義
-
and 雙值運算符,如果左右兩個條件都為真,則得到的值就為真
-
or 雙值運算符,只要左右兩個條件有一個為真,則得到的值就為真
-
not 單指運算符,又稱取反運算符,NOT通常是單目運算符,即NOT右側才能包含表達式,是對結果取反,如果表達式結果為True,那么NOT的結果就為False;否則如果表達式的結果為False,那么NOT的結果就為True。
Oracle的邏輯運算符也是用在SQL語下面使一些例子:
Select?*?from?emp?where?sal?>?2000?and?job?=?‘SALESMAN';
尋找那些工資高于2000的且職位為銷售的職員。
Select?*?from?emp?where?job?=?‘CLERK'?or?deptno?=?20;
尋找那些工作為CLERK或者所在部門標號為20的職員的列表
Select?*?from?emp?where?not?(sal?>?3000?or?sal?<p>尋找那些工資既不大于3000也不小于1500,也即在1500到3000范圍的員工,相當于:select * from emp where sal between 1500 and 3000;</p><p>結合到前面所列出的各類運算符,在這里匯總一下oracle中所有運算符的優先級句中必不可少的因素,一共有三個</p><p>運算符 級別</p>
-
算術運算符(即‘+’,‘-‘,‘*’,‘/’) 1
-
連接運算符(即‘||’) 2
-
比較運算符(即‘>’,‘>=’,‘’) 3
通常使用‘()’可以改變運算符的優先級。
需要注意的是and的優先級要優于or,也就是說下面的語句
Select?*?from?emp?where?sal?=?2000?and?job?=?‘ANALYST';
等價于
Select?*?from?emp?where?sal?=?2000?and?job?=?‘ANALYST');
而不是你所預期的
Select?*?from?emp?where?(sal?=?2000)?and?job?=?‘ANALYST';
一般我們即使我們要表達第一個語句所要表達的意思,為了避免誤解,都不采取第一種寫法,而是用括號來表明我們要先算后面的部分。
推薦教程:《Oracle教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦