读书人

初学者求指点sql语句的有关问题

发布时间: 2013-02-19 11:11:40 作者: rapoo

菜鸟求指点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%')
显然与你的原意不符

读书人网 >SQL Server

热点推荐