W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
條件用來判斷數(shù)據(jù)的值,并返回 TRUE
、FALSE
或 UNKNOWN
。它由一個(gè)或多個(gè)表達(dá)式和邏輯(布爾)運(yùn)算符等組件組合而成。只要條件出現(xiàn)在 SQL 語句中,您就必須使用正確的條件語法。
注意
參數(shù)NLS_COMP
和NLS_SORT
共同影響字符的排序與比較。若將數(shù)據(jù)庫的NLS_COMP
指定為LINGUISTIC
,那么本開發(fā)指南中所有被提到的實(shí)體都會(huì)遵循參數(shù)NLS_SORT
所指定的規(guī)則。若NLS_COMP
的值沒有被指定為LINGUISTIC
,那么函數(shù)將不受NLS_SORT
影響。NLS_SORT
的值可以被直接指定,如果沒有被指定,它將繼承NLS_LANGUAGE1
的值。
您可以在這些語句的 WHERE
子句中使用條件:
DELETE
SELECT
UPDATE
您也可以在 SELECT
語句的這些子句中使用條件:
WHERE
START WITH
CONNECT BY
HAVING
條件可以稱為邏輯數(shù)據(jù)類型,盡管 OceanBase 數(shù)據(jù)庫不正式支持這樣的數(shù)據(jù)類型。
例如,簡單條件 1 = 1 判斷結(jié)果為 TRUE。
下面更復(fù)雜的條件將 salary 的值加上 commission_pct 得值(函數(shù) NVL
將 salary 中的 NULL 值替換為 0 ),并判斷總和是否大于 25000。
NVL(salary, 0) + NVL(salary + (salary * commission_pct, 0) > 25000)
邏輯條件 AND
可以將多個(gè)條件組合成一個(gè)條件。
(1 = 1) AND (5 < 7)
SQL 語句中的有效條件:
name = 'SMITH'
employees.department_id = departments.department_id
hire_date > '01-JAN-08'
job_id IN ('SA_MAN', 'SA_REP')
salary BETWEEN 5000 AND 10000
commission_pct IS NULL AND salary = 2100
條件優(yōu)先級指的是 OceanBase 數(shù)據(jù)庫在同一表達(dá)式中判斷不同條件的順序。當(dāng)計(jì)算包含多個(gè)條件的表達(dá)式時(shí),先判斷較高優(yōu)先級的條件,最后判斷較低優(yōu)先級的條件,而優(yōu)先級相等的條件則按照從左到右的順序判斷。例如 AND
和 OR
連接的多個(gè)條件,不能按照從左到右的順序判斷,而是按照先計(jì)算AND
然后計(jì)算OR
的順序。
SQL 條件優(yōu)先級表
條件類型 |
功能 |
---|---|
=、!=、<、>、<=、>= |
比較。 |
IS [NOT] NULL、LIKE、[NOT] BETWEEN、[NOT] IN、EXISTS、IS OF 類型 |
比較。 |
NOT |
取冪,邏輯取反。 |
AND |
比較。 |
OR |
分離。 |
優(yōu)先級按照從高到低排列出,同一行上列出的條件具有相同的優(yōu)先級。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: