是使用邏輯運算符 AND、OR 和 NOT 的一個或更多謂詞的組合。
< search_condition > ::=
{ [ NOT ] < predicate > | ( < searth_condition > ) }
[ { AND | OR } [ NOT ] { < predicate > |( < searth_condition > ) } ]
} [ ,...n ]
< predicate > ::=
{ expression { = | < > | != | > | > = | ! > | < | < = | ! < } expression
| string_expression [ NOT ] LIKE string_expression
[ ESCAPE 'escape_character' ]
| expression [ NOT ] BETWEEN expression AND expression
| expression IS [ NOT ] NULL
| CONTAINS
( { column | * } , '< contains_search_condition >' ) | FREETEXT ( { column | * } , 'freetext_string' )
| expression [ NOT ] IN ( subquery | expression [ ,...n ] )
| expression { = | < > | != | > | > = | ! > | < | < = | ! < }
{ ALL | SOME | ANY} ( subquery )
| EXISTS ( subquery ) }
<search_condition>
指定 SELECT 語句、查詢表達式或子查詢的結(jié)果集內(nèi)所返回的行的條件。對于 UPDATE 語句,指定要更新的行。對于 DELETE 語句,指定要刪除的行。對 Transact-SQL 語句搜索條件中可以包含的謂詞數(shù)量沒有限制。
< predicate >
是返回 TRUE、FALSE 或 UNKNOWN 的表達式。
邏輯運算符的優(yōu)先順序是 NOT(最高),接著是 AND,最后是 OR。同一優(yōu)先級上的取值順序是從左到右。在搜索條件內(nèi),可使用圓括號替代此順序。有關(guān)邏輯運算符如何在真實值上運算的更多信息,請參見 AND、OR 和 NOT。
下例假定 description 列存在于 finances 表內(nèi)。若要搜索其中的 description 列包含精確字符 g_ 的行,請使用 ESCAPE 選項,因為 _ 是通配符。如果不指定 ESCAPE 選項,查詢將搜索任何包含字母 g 后跟除 _ 字符外的任何單個字符的描述值。
SELECT *
FROM finances
WHERE description LIKE 'gs_' ESCAPE 'S'
GO
下例使用 WHERE 子句檢索公司名稱末尾包含字符串 snabbköp 的公司的聯(lián)系人姓名、電話和傳真號碼。
相關(guān)文章USE Northwindö
SELECT CompanyName, ContactName, Phone, Fax
FROM Customers
WHERE CompanyName LIKE N'%snabbkp'
ORDER BY CompanyName ASC, ContactName ASC