mssql sqlserver 筛选条件 and/or优先级说明


摘要:


在数据筛选中,where 条件后面可以加入无数的and or 关键字,如果没有括号对优先级特别说明时,sql解析器会先组合and条件,再组合or条件
例:

  create table test (keyId int identity,info varchar(10))
go
insert into test(info)values('a'),('b'),('c'),('D'),
('e'),('f'),('g'),('h')
go
 ----如下sql ,由于and优先级高 所以先组合(keyId=2 and info='c') 
 ----后组合or关键字
 select *from test where keyId =1 or keyId=2 and info='c'
 
  ---先组合(info ='c' and keyId=1),再组合 keyId=2
 select *from test where info ='c' and keyId=1 or keyId =2   
 go
truncate table test 
drop table test 
mssql_sqlserver_and_or优先级说明

mssql_sqlserver_and_or优先级说明