括号中的MySql和运算符以及括号内的运算符

时间:2015-01-28 21:25:00

标签: mysql

我正在研究MySql tutorial并看到下面的代码:

mysql> SELECT * FROM pet WHERE (species = 'cat' AND sex = 'm') -> OR (species = 'dog' AND sex = 'f');

输出:

+-------+--------+---------+------+------------+-------+
| name  | owner  | species | sex  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+

根据我对OR运算符的理解,它应该返回第一个真值并执行惰性求值。为什么它在上表中返回两个真值,两个记录而不是一个。

任何对官方文档的引用都会有所帮助。

0 个答案:

没有答案