首页 > 解决方案 > SELECT 返回表中不存在的值列表

问题描述

询问:

select id from users where id in (1,2,3,4,5)

如果用户表包含 ids 1、2、3,这将返回 1、2 和 3。我想要一个返回 4 和 5 的查询。换句话说,我不希望查询返回任何存在的行在表格中,我想给它一个数字列表并从该列表中获取未出现在表格中的值。

标签: sqloracle

解决方案


您必须使用MINUS运算符。您也可以使用它,odcinumberlist而无需将值存储在临时表中

SELECT column_value
FROM table(sys.odcinumberlist(1,2,3,4,5)) 
MINUS
SELECT ids
FROM users;

推荐阅读