Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLite - 数据库管理和参考 » UltraLite SQL 参考 » UltraLite SQL 元素 » UltraLite 中的表达式 » UltraLite 中的搜索条件

 

IN 条件

通过从主查询中搜索一个值同时在子查询中搜索另一个值来检查所属关系。

语法
expression [ NOT ] IN 
{ ( subquery ) |  ( value-expr, ... ) }
参数

value-expr 是具有单值的表达式,它的值可以是字符串、数字、日期或任何其它 SQL 数据类型。

注释

没有 NOT 关键字时,IN 条件的值按照以下规则计算:

  • 如果 expression 不为 NULL 并且至少等于其中一个值,则值为 TRUE。

  • 如果 expression 为 NULL 而值列表非空,或者如果至少其中一个值为 NULL 且 expression 不等于任何其它值,则值为 UNKNOWN。

  • 如果 expression 为 NULL 且 subquery 不返回任何值,或者如果 expression 不为 NULL,所有值均不为 NULL,并且 expression 不等于其中任何一个值,则值为 FALSE。

您可以使用 NOT IN 形式反转 IN 条件的逻辑。

以下搜索条件 expression IN ( values ) 与搜索条件 expression = ANY ( values ) 等同。以下搜索条件 expression NOT IN ( values ) 与搜索条件 expression <> ALL ( values ) 等同。

示例

选择居住在以下加拿大省份的客户的公司名和州:Ontario、Manitoba 和 Quebec。

SELECT CompanyName , Province
FROM Customers
WHERE State IN( 'ON', 'MB', 'PQ');