翻譯|行業(yè)資訊|編輯:董玉霞|2022-06-23 11:35:31.877|閱讀 185 次
概述:本文將介紹SQL 中的謂詞。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
本文將介紹SQL 中的謂詞。 數(shù)據(jù)庫管理工具Navicat Premium是一套數(shù)據(jù)庫管理工具,讓你使用一個程序即可同時連接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 數(shù)據(jù)庫。
謂詞只是一個計算結(jié)果為 TRUE、FALSE 或 UNKNOWN 的表達式。謂詞通常用于 WHERE 和 HAVING 子句的搜索條件中、FROM 子句的聯(lián)接條件以及需要布爾值的查詢的任何其他部分中。
謂詞有多種類型,包括:
在鏈接相關(guān)的表和視圖時,可使用四種基本的聯(lián)接類型:內(nèi)部聯(lián)接、左聯(lián)接、右聯(lián)接和外部聯(lián)接。內(nèi)部聯(lián)接不會返回任何一個表中在另一個表中不匹配的行。外部聯(lián)接可以返回一個或兩個表中不匹配的行。而最后三種連接類型都是外部聯(lián)接的一種,其中:
在本文的其余部分,我們將研究上述謂詞類型的幾個示例。
每當(dāng)我們在表達式中使用比較運算符時,例如 WHERE employee_salary > 100000,我們都在構(gòu)造一個計算結(jié)果為 TRUE、FALSE 或 UNKNOWN 的謂詞。比較運算符包括:
因此,比較謂詞的形式為:
expression_1 comparison_operator expression_2
在比較謂詞中,expression2 也可以是子查詢。如果子查詢沒有返回任何行,則比較謂詞的計算結(jié)果為 FALSE。
在 SQL 中,第一的模式匹配謂詞是 LIKE 運算符,因為它將列值與指定的模式進行比較。LIKE 適用于任何字符或日期數(shù)據(jù)類型。以下是一個示例:
BETWEEN 運算符指定一個范圍,該范圍確定限定值的下限和上限。例如,在謂詞 income BETWEEN 5000 AND 20000 中,所選數(shù)據(jù)的范圍是大于或等于 5000 且小于或等于 20000。BETWEEN 運算符可用于數(shù)字、文本和日期數(shù)據(jù)類型。以下是一個示例:
IN 運算符允許指定用于查詢搜索的兩個或多個表達式。如果相應(yīng)列的值等于 IN 謂詞指定的其中一個表達式,則條件的結(jié)果為 TRUE:
EXISTS 謂詞接受子查詢作為參數(shù)。如果子查詢返回一行或多行,則返回 TRUE。如果子查詢返回零行,則返回 FALSE。
以下是一個示例:
使用 IS NULL 來確定表達式是否為 NULL,因為你無法使用 = 比較運算符測試 NULL。當(dāng)應(yīng)用于行值表達式時,所有元素都必須測試相同。
IS NULL 謂詞的形式為:
IS [NOT] NULL
例如,如果 x 為 NULL,則表達式 x IS NULL 為 TRUE。
當(dāng)表達式為 BOOLEAN 類型時,IS UNKNOWN 是 IS NULL 的同義詞。
以下是的查詢使用 IS NOT NULL 謂詞來獲取所有姓氏為非 NULL 值的演員:
謂詞通常用于 WHERE 和 HAVING 子句的搜索條件中、FROM 子句的聯(lián)接條件中。它是計算結(jié)果為 TRUE、FALSE 或 UNKNOWN 的表達式。 :
更多有關(guān)Navicat Premium使用教程可點擊查看,歡迎加入Navicat Premium技術(shù)交流QQ群:765665608。
Navicat Premium 是一套數(shù)據(jù)庫管理工具,讓你使用一個程序即可同時連接到 MySQL、MariaDB、SQL Server、SQLite、Oracle 和 PostgreSQL 數(shù)據(jù)庫。了解更多購買詳情可聯(lián)系慧都在線客服。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn