这是一个有效的SQL条件表达式还是MySQL错误(功能)?

前端之家收集整理的这篇文章主要介绍了这是一个有效的SQL条件表达式还是MySQL错误(功能)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
试图调试一些似乎返回笛卡尔积的连接,我将等效的ON条件键入选择.

MySQL

select * 
from table 
where columnname

好像我输入了columname不为null的行为.在连接中,在table.columnname上键入,但返回很多行.如果我在table1.column = table2.column上更正它,MysqL会做正确的事情但肯定我的第一个版本是不正确和非法的.

解决方法

您正在讨论的上下文,连接中的WHERE子句和ON子句只接受表达式.
SELECT ...
FROM table1 JOIN table2 ON <expr>
WHERE <expr>

表达式可以包括比较运算符,例如=但表达式也可以像单个列或单个常量值一样简单.

与另一个接受表达式的上下文比较:select-list.

SELECT <expr>,<expr>,<expr>

在此上下文中使用单个列作为表达式是正常的.

猜你在找的MsSQL相关文章