SQL WHERE IN 等效但使用 AND 而不是 OR

Tong

我看到一个帖子说

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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档