oracle中not in用法-Oracle
Oracle 中 NOT IN 用法
NOT IN 运算符在 Oracle 中用于检查一个值是否不在另一个组或子查询返回的结果集中。
语法:
SELECT column_name FROM table_name WHERE column_name NOT IN (subquery | value_list);
登录后复制
其中:
- column_name 是要检查的值。
- subquery 是返回一个值的嵌套查询。
- value_list 是一个包含多个值的逗号分隔列表。
示例:
检查一个值是否不在一个子查询返回的结果集中:
SELECT customer_name FROM customers WHERE customer_id NOT IN (SELECT customer_id FROM orders);
登录后复制
这将从 customers 表中选择所有不在 orders 表中 customer_id 列中值(即没有订购的客户)的客户姓名。
检查一个值是否不在一个值列表中:
SELECT product_id FROM products WHERE product_id NOT IN (101, 102, 103);
登录后复制
这将从 products 表中选择所有不在值列表 (101, 102, 103) 中的产品 ID。
注意:
- NOT IN 运算符区分大小写。
- 如果 subquery 或 value_list 为空,NOT IN 将返回所有行。
- Oracle 还提供了一个 NOT IN ANY 运算符,用于检查一个值是否不在多个子查询返回的结果集的联合中。