可以在sql中以多种语句和语句的任何方式编写多个或语句

时间:2013-07-05 04:42:20

标签: sql sql-server

select * from Table1 where fieldname = 'a' or fieldname = 'b' or fieldname = 'c' 

上述陈述可以写成

select * from Table1 where fieldname in ('a', 'b', 'c')

有没有办法简写'和'陈述

select * from Table1 where fieldname = 'a' and fieldname = 'b' and fieldname = 'c' 

更新:考虑一下情况

fieldname ID
--------------------
a         1   
a         2
b         3
c         4  
b         5
a         6

1 个答案:

答案 0 :(得分:3)

甚至逻辑上也不可能。

对于任何记录,如果fieldname的值为'a',则fieldname不能具有值'b'(即fieldname ='a'then fieldname!='b')。这意味着fieldname对于单个记录不能有多个值。

如果你写WHERE fieldname = 'a' AND fieldname = 'b' AND fieldname = 'c',它会给你空的结果。

所以没有办法简写AND