or与in的查询结果怎么不同?

zhangqiushui 2007-03-08 07:28:00
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的也查询出来了!
...全文
389 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hui_hui_2007 2007-03-08
  • 打赏
  • 举报
回复
and的优先级比or高
xiaolei1982 2007-03-08
  • 打赏
  • 举报
回复
相信楼主已经明白了,接分
leo_lesley 2007-03-08
  • 打赏
  • 举报
回复
只能接点分~~
十一月猪 2007-03-08
  • 打赏
  • 举报
回复
路过
OracleRoob 2007-03-08
  • 打赏
  • 举报
回复
and的优先级比or高。
一者仁心 2007-03-08
  • 打赏
  • 举报
回复
and的优先级比or高 基础知识吧
OracleRoob 2007-03-08
  • 打赏
  • 举报
回复
-->


SELECT UnitCode,FieldCode,DataValue,统计管理部门
FROM DX_F2_Data
WHERE (统计管理部门='311513115001'
OR 统计管理部门='311513115002'
OR 统计管理部门='311513115003' )
AND FieldCode in ('C012')
AND DataTime='200703'
mengmou 2007-03-08
  • 打赏
  • 举报
回复
a or b or c and d
等价于
a or b or (c and d)
要改为
(a or b or c) and d
mengmou 2007-03-08
  • 打赏
  • 举报
回复
--改改

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'

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧