我看到一个帖子说
whereas IN ('val1', 'val2', 'val3') is basically equivalent to
WHERE
(
column = 'val1'
OR
column = 'val2'
OR
column = 'val3'
)
我的问题是,是否有一些东西可以用 AND 替换 OR,例如:
WHERE
(
column = 'val1'
AND
column = 'val2'
AND
column = 'val3'
)
不完全是。这个问题通常可以使用聚合来解决:
select id -- of some sort
from t
where column in ('val1', 'val2', 'val3')
group by id
having count(*) = 3; -- all values accounted for
这假设column
给定的 id 没有重复的值。如果可能,请使用having count(distinct column) = 3
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句