Oracle 運算子運算子

2021-06-26 09:35:16 字數 1264 閱讀 8859

oracle中邏輯運算子(not,and,or)及其優先順序

2008-12-05 15:06

oracle的邏輯運算子也是用在sql

語句中必不可少的因素,一共有三個

邏輯運算子

意義and

雙值運算子,如果左右兩個條件都為真,則得到的值就為真

or雙值運算子,只要左右兩個條件有乙個為真,則得到的值就為真

not單指運算子,如果原條件為真,則得到真,如果元條件為假,反之如果原條件為假,則結果為真

下面使一些例子:

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 < 1500);

尋找那些工資既不大於3000也不小於1500,也即在1500到3000範圍的員工,相當於:select * from emp where sal between 1500 and 3000;

結合到前面所列出的各類運算子,在這裡彙總一下oracle中所有運算子的優先順序

運算子級別

算術運算子(即『+』,『-』,『*』,『/』)

連線運算子(即『||』)

比較運算子(即『>』,『>=』,『<』,『<=』,『<>』)

is [not] null,[not] like,[not] in

[not] between-and

notand

or通常使用『()』可以改變運算子的優先順序。

需要注意的是and的優先順序要優於or,也就是說

下面的語句

select * from emp where sal < 1500 or sal >= 2000 and job = 『analyst』;

等價於select * from emp where sal < 1500 or (sal >= 2000 and job = 『analyst』);

而不是你所預期的

select * from emp where (sal < 1500 or sal >= 2000) and job = 『analyst』;

一般我們即使我們要表達第乙個語句所要表達的意思,為了避免誤解,都不採取第一種寫法,而是用括號來表明我們要先算後面的部分。

(運算子) 運算子

運算子既可作為一元運算子也可作為二元運算子。備註 unsafe context data guid 00bf87717d88a9fac1afadb796c675da 一元 運算子返回運算元的位址 要求 unsafe 上下文 bool data guid 9efd189df2cfb88799dca08...

JS運算子 算術運算子 比較運算子 賦值運算子

兩邊的變數都是number型別 則是單純的加法運算 當字串出現時 結果是字串型別 字串之後的內容 不論什麼型別 都會被作為字串進行拼接 例子 var num1 10 var num2 20 num num1 num2 var result num1 num2 num1 false console.l...

NOT運算子與 運算子

6.4.2 not運算子與 運算子 對於簡單的條件查詢,not運算子與 運算子的功能幾乎沒有什麼區別,那麼not運算子的優勢體現在 呢?答案是它可以與其他運算子組合使用,這一點是 運算子所不能實現的。在6.4.1節已經介紹了not運算子與in運算子組合使用的例子,下面給出乙個not運算子與betwe...