我有这个查询:
SELECT 1 IN (1,2)
它返回 1,因为 1 在 (1,2) 内部。
我想做的是检查数组中是否存在两个值中的任何一个。在一个虚构的世界里:
SELECT (3,1) EITHER IN (1,2)
像这样的东西应该返回 1,因为在第二个数组中至少找到了一个值。当然,这个查询是不正确的。有没有办法做到这一点并避免这种情况:
SELECT (
3 IN (1,2)
OR
1 IN (1,2)
)
您可以使用内部连接
select a, b form T1
inner join T2 on (T1.a = T2.c or T1.b = T2.c)