这些说法有什么区别?我一直使用第一个作为默认值,但它最近给了我一个不正确的值,第二个解决了这个问题。当 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/