一条包含and、or多条件的查询语句?

dreamsky 2003-08-27 10:22:02
表student包含username(姓名)、grade(年级)两个字符型字段,现在要查询
姓“李”,年级为like“一年级”或like“三年级”的记录。

如下写:
select * from student where username like '%李%' and (grade like '%一年级%' or grade like '%三年级%")
但是查询出来的结果是
select * from student where username like '%李%' and grade like '%一年级%'
和select * from student where grade like '%三年级%'两个记录的集合,
是不是and比or的优先级别高?那这个查询该怎么写?
...全文
135 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
flying120 2003-08-27
  • 打赏
  • 举报
回复
你的语句的首先找的是满足username like '%李%'的结果,然后查找满足grade like '%一年级%' or grade like '%三年级%"条件的结果,再把两个结果相结合
CrazyFor 2003-08-27
  • 打赏
  • 举报
回复
select * from student where username like '%李%' and (grade like '%一年级%' or grade like '%三年级%")
AND优先级高于OR,但可以用括号来提升优先级,所以上面你的语句应该是没有问题的.
CrazyFor 2003-08-27
  • 打赏
  • 举报
回复
select * from student where username like '%李%' and (grade like '%一年级%' or grade like '%三年级%")
AND优先级高于OR,但可以用括号来提升优先级,所以上面你的语句应该是没有问题的.
愉快的登山者 2003-08-27
  • 打赏
  • 举报
回复
不应该的。
已经用括号将OR括起来了。
愉快的登山者 2003-08-27
  • 打赏
  • 举报
回复
不应该的。
已经用括号将OR括起来了。
txlicenhe 2003-08-27
  • 打赏
  • 举报
回复
按照楼主的意思,本来就应该是两条语句的集合才对呀。
smallroad 2003-08-27
  • 打赏
  • 举报
回复
select * from student where username like '李%' and grade like '%[一三]年级%'
zjcxc 元老 2003-08-27
  • 打赏
  • 举报
回复
照楼主的意思,应该是用 and 做条件连接.
如下写法:

select * from student where (username like '%李%' and grade like '%一年级%') or (username like '%李%' and grade like '%三年级%")
pengdali 2003-08-27
  • 打赏
  • 举报
回复
select * from student where username like '%李%' and grade like '%[一三]年级%'


就可以了。
qianguob 2003-08-27
  • 打赏
  • 举报
回复
应该没有问题啊 。
happy_0325 2003-08-27
  • 打赏
  • 举报
回复
select * from student where username like '李%' and (grade like '%一年级%' or grade like '%三年级%")
nchln 2003-08-27
  • 打赏
  • 举报
回复
很简单的语句,不会有问题。关键是查出来的结果是不是真的不符合该语句的逻辑,可要认真看哦。
zhbname 2003-08-27
  • 打赏
  • 举报
回复
你先检查一下你程序中写的和你在帖子上的是否一致.
其次,将like '%..%'中的第一个'%'符号去掉.你应查的是
以'李'等开头的.
zxyfd2000 2003-08-27
  • 打赏
  • 举报
回复
没问题
dafu71 2003-08-27
  • 打赏
  • 举报
回复
你的语句没有问题
yujohny 2003-08-27
  • 打赏
  • 举报
回复
select * from student where username like '%李%' and ((grade like '%一年级%') or (grade like '%三年级%'))

34,874

社区成员

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

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