我刚读到一个我想要的问题:SO original question
假设我有一个表'Tab‘,它有一个列'Col’ 表'Tab‘有这个数据- 1 2 3 4 5 如果我有一组值(2,3,6,7)。我可以通过引用查询来查询表和列表中的值。 从Tab中选择Col (2,3,6,7) 但是,如果我想返回列表中不存在于表中的值,即在这种情况下只返回(6,7)。我应该使用什么查询?
我已经找到了几种涉及创建临时表的解决方案,但最好的解决方案(至少是更短的解决方案,我认为也是更快的解决方案)是针对Server的,在我看来,它不适合我需要的SQLite3。
Server 2008方法 从(值(2)、(3)、(6)、(7))中选择N作为D (N),但从Tab中选择Col除外
对于SQLite 3有什么替代的方法吗?
发布于 2013-02-01 15:13:28
在SQLite中,可以使用不带FROM
子句的SELECT
只返回一个固定记录。要获得多个记录,请将这些记录与UNION ALL
(比UNION
稍快一点,因为它不检查副本)组合起来:
SELECT 2 AS Col UNION ALL
SELECT 3 UNION ALL
SELECT 6 UNION ALL
SELECT 7
EXCEPT
SELECT Col FROM Tab
https://stackoverflow.com/questions/14654040
复制相似问题