Mysql where子句语法

时间:2015-07-30 13:58:53

标签: mysql sql syntax where where-clause

我正在运行我们的一些代码,并且遇到了这个结构的sql查询,并且确定它是我们PHP的变量中的一个拼写错误,我运行它并且它有效。

Select column from table where value = column;

我认识的任何人总是被教导正确的语法是:

Select column from table where column = value;

这有什么理由是合法的,除了SQL只是检查是否是一个等式的两个方面? 我更喜欢发布这个,因为我发现它真的很有趣,就像一个“你知道得越多”的东西。

3 个答案:

答案 0 :(得分:4)

等于运算符(=)是对称的 - 如果a=b为真,那么b=a也是如此。 ab可以是列名,值或复杂表达式。使用column=value形式很常见,但从语法上讲,它完全等同于value=column

答案 1 :(得分:1)

是的,你有正确的sql只检查方程的两边。该等式甚至可以包含 侧的列!比如

SELECT column from table where 1=2;

答案 2 :(得分:1)

SQL查询的语法是:

SELECT * FROM table WHERE 1

您可以使用任何您想要的条件,例如:

SELECT * FROM table WHERE 0

将返回所有行

,而

{{1}}

不会给你任何回报

在WHERE之后你必须有一个条件,没有别的