从PostgreSQL中不在表中的文字值中选择?

时间:2017-03-29 14:07:03

标签: sql postgresql

我在Excel中有一些值,我复制了值,它看起来像这样:

1 2 3 4

我想编写一个查询,从上面的数据中选择一个表中没有的数据。有些想法:

SELECT * FROM [1, 2, 3, 4] as foo where foo IS NOT ( SELECT id from table )

假设id列有1,2,4,查询答案将为3。

最好是可以在postgres和sql server中使用的查询

谢谢!

3 个答案:

答案 0 :(得分:2)

你需要一个left join或类似的东西。这是一种方法:

SELECT v.*
FROM (VALUES (1), (2), (3), (4)) v(foo) 
WHERE foo NOT IN ( SELECT id from table );

答案 1 :(得分:1)

select *
from
    (values (1),(2),(3),(4)) v (id)
    left join
    t using (id)
where t.id is null

答案 2 :(得分:0)

您可以尝试

.queryParam("searchtext", URLEncoder.encode("10 Downing Street, London","UTF-8"))