sql - SELECT 返回表中不存在的值列表
问题描述
询问:
select id from users where id in (1,2,3,4,5)
如果用户表包含 ids 1、2、3,这将返回 1、2 和 3。我想要一个返回 4 和 5 的查询。换句话说,我不希望查询返回任何存在的行在表格中,我想给它一个数字列表并从该列表中获取未出现在表格中的值。
解决方案
您必须使用MINUS运算符。您也可以使用它,odcinumberlist
而无需将值存储在临时表中
SELECT column_value
FROM table(sys.odcinumberlist(1,2,3,4,5))
MINUS
SELECT ids
FROM users;
推荐阅读
- python-3.x - drf yasg 如何为响应内容类型添加新选项
- google-analytics - 如何使用谷歌分析自定义维度?
- git - “git fetch”是否足够聪明,不会重新下载它已经拥有但在不同 refs 上的 blob?
- python - 可以从 pycharm 运行脚本,但不能从终端运行。ImportError:DLL 加载失败:找不到指定的模块
- c# - 如何从 TapGesture 或按钮按下导航到某个 TabbedPage
- python - Python Lambda:长度之间的字符串
- java.util.scanner - 从键盘读取输入后出现奇怪的问题
- css - CSS打字机效果从右到左开始
- javascript - 使用 Chart.js 的 onClick 函数,您可以从未定义或空结果执行代码吗?
- git - Git 不允许变基,因为没有分阶段的更改