今天在做项目的时候发现一个查询的结果不太对。
随后拿出sql仔细端详一番,where条件中发现一个条件本应该是 …… xx in (‘13’,‘14’)……,却写成了…… xx = ‘13’ or xx = ‘14‘ ……,与其并列的还有几个and条件。
随后和同事讨论为什么是这样的结果?where中的 and 和 or 执行顺序是什么?同时存在并列会如何运行?
猜来猜去。发现很简单,是有优先级的。
特此记录