加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 18:53:37 所属栏目:百科 来源:网络整理
导读:我想确定表中不存在的特定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) 假设表具有ID
我想确定表中不存在的特定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)

假设表具有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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读