gpt4 book ai didi

sqlite - 如何选择表中未找到的值?

转载 作者:行者123 更新时间:2023-12-03 15:59:44 24 4
gpt4 key购买 nike

我想确定特别表中不存在的 ID。

例如,我有 ID 1、2 和 3,想知道它们是否存在于表中。

本质上,这可以归结为:

SELECT id FROM (
SELECT 1 AS id
UNION
SELECT 2 AS id
UNION
SELECT 3 AS id
)
WHERE
NOT EXISTS (SELECT * FROM table WHERE table.id = id)

假设 table有 ID 1 和 4,那么这将产生 2 和 3。

是否有更优雅/简洁/更快的方法来在 SQLite 中获取这些 ID?

最佳答案

compound SELECT operator EXCEPT允许您执行类似于 NOT EXISTS 的操作:

SELECT 1 AS id UNION ALL
SELECT 2 UNION ALL
SELECT 3
EXCEPT
SELECT id FROM MyTable

从 SQLite 3.8.3 开始,您可以在任何可以使用 SELECT 的地方使用 VALUES,但这只是一种不同的语法:
VALUES (1),
(2),
(3)
EXCEPT
SELECT id FROM MyTable

关于sqlite - 如何选择表中未找到的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21556866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com