我写了如下的两条SQL语句:
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID1, ID2') SELECT count(*) FROM Topics WHERE AND SectionID in ('ID2, ID1')
按理说,两条语句执行结果应该是一样的,但是结果不一样
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID1, ID2')的结果和
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID1')一样SELECT count(*) FROM Topics WHERE AND SectionID in ('ID2, ID1')的结果和
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID2')一样不太明白为什么,请大家解释一下
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID1, ID2') SELECT count(*) FROM Topics WHERE AND SectionID in ('ID2, ID1')
按理说,两条语句执行结果应该是一样的,但是结果不一样
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID1, ID2')的结果和
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID1')一样SELECT count(*) FROM Topics WHERE AND SectionID in ('ID2, ID1')的结果和
SELECT count(*) FROM Topics WHERE AND SectionID in ('ID2')一样不太明白为什么,请大家解释一下
SELECT count(*) FROM Topics WHERE AND SectionID in ( 'ID1', 'ID2')
in('a','b')相当于 'a' or 'b' 这两个值的or
in('a,b') 相当于'a,b'这一个值
SELECT count(*) FROM Topics WHERE SectionID in ( 'ID1', 'ID2')
因为我的SectionID字段是GUID类型的,所以在in后面的括号里,每一个ID都需要有'' 括起来
SQL语句就应该写成如下的形式
SELECT count(*) FROM Topics WHERE AND SectionID in ( 'ID1', 'ID2 ')