我有一个非常简单的查询来查找一个表中的一些值,而不是另一个表中的一些值。
select * from my_table were my_value in
('one','two','hello','blue')
and my_value not in
(select my_value from my_table_2)
这将返回两行——my_table 中带有“one”和“two”的行。
但是,然后我运行了这个:
select * from my_table_2 where my_value in ('one','two')
震惊地发现这在 my_table_2 中返回了两行,值为“一”和“二”。
“不在”中得到了 99% 的正确结果,但随机丢失了一些值。这是什么原因?
编辑:对不起,错字。解决它。