为AND条件替换IN子句 - Mysql

时间:2013-04-21 15:39:36

标签: mysql sql

我们使用IN子句来替换许多OR条件 比如,我可以使用任何其他条款来替换许多AND条件吗?

3 个答案:

答案 0 :(得分:1)

这没有意义:

YourColumn AND_IN (1,2,3)

这永远不会成立,因为一列不能同时是两个值。

答案 1 :(得分:1)

没有

那是因为一个字段不会有多个值。

例如。

你永远不会写一个说

的查询
SELECT * 
FROM
tblName
WHERE 
fldCol = 1
AND fldCol = 2
AND fldCol = 3;

答案 2 :(得分:1)

我认为您正在寻找此查询的替代方案,

SELECT  ID
FROM    TableName
WHERE   col = 1 AND col = 2 AND col = 3 

将提供空结果集,因为记录一次只能有一个值。这应该写成:

SELECT  ID
FROM    TableName
WHERE   col IN (1, 2, 3)
GROUP   BY ID
HAVING  COUNT(*) = 3

SQL of Relational Division