我有一个简化的查询,我只需要获取两个数组的交集即可。当有一个正交点时,我会得到预期的结果。但是,如果没有结果,我将从整个表中返回所有行,而不是预期的零行。
这是一个查询,我按预期返回了一行:
SELECT ID FROM table_name WHERE ID IN (7188,2442,10350) AND ID IN (10350,6936)
它按预期返回ID为10350的一行。
但是,如果我尝试以下查询:
SELECT ID FROM table_name WHERE ID IN (7188,2442) AND ID IN (10350,6936)
它返回整个表,而不是零行。
很明显,我的语法不正确,但是我不知道如何编写适当的查询来查找两个数组的交集。请问如何正确地写出这样的路口?请注意,这只是一个表(而不是来自多个表的INNER JOIN)。我必须使用多个数组作为要比较的集合。
我已经搜索了很长时间的SO和Google,但似乎什么都没有。似乎应该对此有一个简单的答案。