求教一个mysql语句or的问题。
php吧
全部回复
仅看楼主
level 5
jxdz232601 楼主
有3个条件:条件1、条件2和条件3,
其中条件3有两种情况:条件3_1和条件3_2
一种or用法是:
(条件1 and 条件2 and 条件3_1) or (条件1 and 条件2 and 条件3_2)
另外一种:
条件1 and 条件2 and (条件3_1 or 条件3_2)
请问,这2种情况查询出来的结果是一样吗?
2013年07月16日 05点07分 1
level 5
jxdz232601 楼主
其实题目的意思是:
我要查询到的结果必须满足有3个条件要求,
一是,条件1必须满足
二是,条件2必须满足
三是,条件3满足情况1或情况2都可。
我后来测试了一下,
(条件1 and 条件2 and 条件3_1) or (条件1 and 条件2 and 条件3_2)

条件1 and 条件2 and (条件3_1 or 条件3_2)
结果是一样的,
9楼说不一样,我看了下,是说的加不加括号,结果不一样,后面那种情况,
“条件1 and 条件2 and (条件3_1 or 条件3_2) ”不加括号,结果肯定是不一样,
不过就我列出的这两个用法,结果应该是一样的,就和13L说的一样,但是由于第一条语句条件1和条件2都判断了2次,所以效率没有第二条语句好。
2013年07月17日 02点07分 19
[黑线]你是效率党么..........如果带上括号当然会运算慢。 但是我第一个要求是实现效果。
2013年07月17日 15点07分
你要根据实际情况来看。我刚刚说的情况的话。你的写法恐怕无法符合题目要求。没有实际题目,我不敢说2个结果是一样还是不一样
2013年07月17日 15点07分
而且你楼顶的题目让我很蛋疼.........................无法直视
2013年07月17日 15点07分
如果按照你题目说的 我肯定是写第二个。因为 两个条件没有重复的 直接: 条件1 AND 条件2 AND (情况1符合 OR 情况2符合) 第一个就太夸张了。就是等于把3个条件相乘开一样。...也行
2013年07月17日 15点07分
1