mysql - 简单的sql连接

标签 mysql sql

这些说法有什么区别?我一直使用第一个作为默认值,但它最近给了我一个不正确的值,第二个解决了这个问题。当 1 返回所需结果时,从 1 到 2 对我来说从未改变过值。

1. JOIN table
   ON x = y and a = b

2. JOIN table
   ON (x = y and a = b)

最佳答案

当你的语句中有 AND on OR 条件时,需要使用括号以避免短路,就像这样:

SELECT...
FROM...
WHERE  col1 > 1 AND col2 < 3 AND col3 >= OR col3 = 1 AND col5 < 1

上面的查询会给你意想不到的结果,因为它不能确定它所采用的正确条件。在这种情况下,圆括号将帮助您分隔条件,

SELECT...
FROM...
WHERE  col1 > 1 AND col2 < 3 AND (col3 >= OR col3 = 1) AND col5 < 1

希望对你有帮助

关于mysql - 简单的sql连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31612848/

相关文章:

Mysql 用触发器删除插入

php - 通过表单提交 Paypal 付款后将数据插入MySQL DB

SQL 服务器错误 'Cannot find data type'

sql - 替换 Excel 中数据连接中的 SQL 命令文本

php - Ajax /PHP : Returning values

php - cakephp 3 的 Between 子句

连接表的mysql公共(public)列标准

mysql - 从特定列表中选择随机数

mysql - 执行内部连接时 mysql 的语法错误

sql - 在一条语句中插入和更改