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

前端之家收集整理的这篇文章主要介绍了sqlite – 如何选择表中未找到的值?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想确定表中不存在的特定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

猜你在找的Sqlite相关文章