SQL中AND、OR的优先级

  • 当AND、OR运算符同时存在时,SQL语言认为AND优先级高于OR

    condition1
    OR   condition2 
    AND   condition3
    
    等价于
    
    condition1
    OR   (condition2 AND condition3)
    
    SELECT * FROM EMR_YZB  
    WHERE
     ( 
    	EMR_YZB.ZYH = 1131279) AND 
     	(EMR_YZB.YZQX = 0 and 0<3 and nvl(rjbrpb,0) <>1 Or 0 = 0 or EMR_YZB.YZQX = 2 and rjbrpb =1 
    ) 
             
    等价于
    SELECT * FROM EMR_YZB  
     WHERE 
     ( 
     	EMR_YZB.ZYH = 1131279) AND 
    	 ((EMR_YZB.YZQX = 0 and 0<3 and nvl(rjbrpb,0) <>1) Or (0 = 0 )or (EMR_YZB.YZQX = 2 and rjbrpb =1) 
    ) 
    

Reference

发布了58 篇原创文章 · 获赞 13 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/forchoosen/article/details/104369245