读书人

or与in的查询结果如何不同

发布时间: 2011-12-31 23:50:30 作者: rapoo

or与in的查询结果怎么不同?
SELECT UnitCode,FieldCode,DataValue
FROM DX_F2_Data
WHERE 统计管理部门 in ( '311513115001 ', '311513115002 ' , '311513115003 ' )
AND FieldCode in( 'C012 ')
AND DataTime= '200703 '

SELECT UnitCode,FieldCode,DataValue,统计管理部门
FROM DX_F2_Data
WHERE 统计管理部门= '311513115001 ' OR 统计管理部门= '311513115002 ' OR 统计管理部门= '311513115003 '
AND FieldCode in ( 'C012 ')
AND DataTime= '200703 '

这两句sql语句查询结果怎么不同啊?
好像第一句把FieldCode不等于C012的也查询出来了!

[解决办法]
--改改

SELECT UnitCode,FieldCode,DataValue
FROM DX_F2_Data
WHERE 统计管理部门 in ( '311513115001 ', '311513115002 ' , '311513115003 ' )
AND FieldCode in( 'C012 ')
AND DataTime= '200703 '

SELECT UnitCode,FieldCode,DataValue,统计管理部门
FROM DX_F2_Data
WHERE (统计管理部门= '311513115001 ' OR 统计管理部门= '311513115002 ' OR 统计管理部门= '311513115003 ' )
AND FieldCode in ( 'C012 ')
AND DataTime= '200703 '

[解决办法]
-->


SELECT UnitCode,FieldCode,DataValue,统计管理部门
FROM DX_F2_Data
WHERE (统计管理部门= '311513115001 '
OR 统计管理部门= '311513115002 '
OR 统计管理部门= '311513115003 ' )
AND FieldCode in ( 'C012 ')
AND DataTime= '200703 '
[解决办法]
只能接点分~~
[解决办法]
相信楼主已经明白了,接分
[解决办法]
and的优先级比or高

读书人网 >SQL Server

热点推荐