我正在研究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
运算符的理解,它应该返回第一个真值并执行惰性求值。为什么它在上表中返回两个真值,两个记录而不是一个。
任何对官方文档的引用都会有所帮助。