SQL INNER JOIN来自同一表的两个值数组

时间:2019-03-06 19:30:04

标签: mysql sql set intersection

我有一个简化的查询,我只需要获取两个数组的交集即可。当有一个正交点时,我会得到预期的结果。但是,如果没有结果,我将从整个表中返回所有行,而不是预期的零行。

这是一个查询,我按预期返回了一行:

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,但似乎什么都没有。似乎应该对此有一个简单的答案。

0 个答案:

没有答案