not in 运算符用于检查一个值是否不在另一个组或子查询的结果集中。它以以下方式使用:指定要检查的值。将该值与子查询或值列表进行比较。返回该值不在比较组中的所有行。
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
运算符,用于检查一个值是否不在多个子查询返回的结果集的联合中。
以上就是oracle中not in用法的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!