包含and又包含or的SQL查询语句怎么写?

sql="select * from [article] where [index_push]<>1 and title like '%深圳%' order by [id] desc"

说明一下:只要index_push的值不等于1并且title中包含有深圳的都满足条件,但是如果我想增加一个查询条件,也就是除了title中包含深圳的满足条件之外,
title中包含北京的也同样满足条件时,该SQL语句应该怎么写?
我本以为用下面的查询语句可以,虽然表中的title字段中即有包含深圳的也有包含北京的, 但是查询的结果仍然是0,不知道问题出在哪里?
sql="select * from [article] where [index_push]<>1 and title like '%深圳%' or title like '%北京%' order by [id] desc"

or的优先性大于and,所以你的sql语句条件就为:
([index_push]<>1 and title like '%深圳%') or (title like '%北京%')
条件改成
[index_push]<>1 and (title like '%深圳%' or title like '%北京%')
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-28
SELECT * FROM [article]
WHERE [index_push]<>1 AND
(title LIKE '%深圳%' OR title LIKE '%北京%')
ORDER BY [id] DESC本回答被提问者和网友采纳
相似回答