【发布时间】:2013-05-29 03:28:05
【问题描述】:
我在 MySQL 中尝试了以下查询,
select first_name from my_contacts WHERE 'Blunt' = last_name;
而且效果很好。
就像,
select first_name from my_contacts WHERE last_name = 'Blunt';
那么WHERE 子句是如何工作的。我假设当它遇到WHERE 时,它期望它后面跟着一个列名和= 的RHS 和一个值(在这种情况下是一个字符串)。
但似乎即使交换 LHS 和 RHS 也可以。它是否类似于 C 或 C++ 中的 if(a == 1) 或 if(1 == a)(无论是 RHS 还是 LHS)?
注意:如果有链接可以帮助我解决这个问题,请务必包含它们
【问题讨论】:
-
在查询前使用“解释”,它会解释它
-
我每天都在这里学习.. =)
-
其实你可以做
WHERE 'a' = 'a'。 WHERE 只接受谓词/条件。相等是对称的,因此您可以在不影响最终结果的情况下切换操作数。
标签: mysql where where-clause