日期:2014-05-17  浏览次数:20447 次

菜鸟求指点sql语句的问题
1.select * from file_table where (userid='zhangsan' or userid='ALL USER') and filename like '1k%' 
2.select * from file_table where userid='zhangsan' or userid='ALL USER' and filename like '1k%' 

在前面加括号的情况下,模糊查询能成功,在后面不加括号的情况下模糊查询就不能成功。
为什么?or的优先级大于所有的and吗
sql

------解决方案--------------------
(a=1 or b=2) and c=3
a=1 or b=2 and c=3  ======> a=1 or (b=2 and c=3)

所以兩句是不一樣的。

------解决方案--------------------
不加括号相当于
select * from file_table where userid='zhangsan' or 
(userid='ALL USER' and filename like '1k%')
显然与你的原意不符