参考:

https://blog.51cto.com/u_16175478/7316302

https://zhidao.baidu.com/question/751260707005284852.html

已存在的表1,含有多条数据,例如他们的id分别为1,2,3,4,....,999。

需要检查id=1,5,10,1001,1002的数据,哪些不在数据库中(可以引申为哪些不在某一类数据中),有两种方式。

方式1

如果需要判断的数据量较小,可以一条条匹配,例如

select * from table where id=1;

为空则证明不在数据库,在业务逻辑中进行分析。

方式2

如果需要匹配的数据量较大,可以做一个临时表,将要查询的数据放入里面,再进行not in操作:

select t.int_value from temp_table t where int_value not in  (select id from table)