#openGauss #入门 #安装 #数据库 #开源
知识来源:docs-opengauss.osinfra.cn/zh/
-
IN/NOT IN
IN/NOT IN的语法请参见图9。
图 9 IN/NOT IN::=
右边是一个圆括弧括起来的子查询,它必须只返回一个字段。左边表达式对子查询结果的每一行进行一次计算和比较。如果找到任何相等的子查询行,则IN结果为"真"。如果没有找到任何相等行,则结果为"假"(包括子查询没有返回任何行的情况)。
表达式或子查询行里的NULL遵照SQL处理布尔值和NULL组合时的规则。如果两个行对应的字段都相等且非空,则这两行相等;如果任意对应字段不等且非空,则这两行不等;否则结果是未知(NULL)。如果每一行的结果都是不等或NULL ,并且至少有一个NULL ,则IN的结果是NULL 。
示例:
注:下面查询语句中tpcds是模式名。
sql 代码解读复制代码openGauss=# SELECT sr_reason_sk,sr_customer_sk FROM tpcds.store_returns WHERE sr_customer_sk IN (SELECT d_dom FROM tpcds.date_dim WHERE d_dom < 10); sr_reason_sk | sr_customer_sk --------------+---------------- 10 | 3 26 | 3 22 | 5 31 | 5 1 | 5 32 | 5 32 | 5 4 | 1 15 | 2 13 | 2 33 | 4 20 | 4 33 | 8 5 | 6 14 | 6 17 | 7 3 | 7 25 | 7 7 | 7 (19 rows)
#openGauss #入门 #安装 #数据库 #开源