作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是想知道以下所有连接是否在逻辑上都是等价的,如果不是,为什么不呢?
SELECT t1.x, t2.y from t1, t2 where t1.a=t2.a and t1.b=t2.b and t1.c = t2.c;
SELECT t1.x, t2.y from t1 join t2 on t1.a=t2.a where t1.b=t2.b and t1.c = t2.c;
SELECT t1.x, t2.y from t1 join t2 on t1.a=t2.a and t1.b=t2.b where t1.c = t2.c;
SELECT t1.x, t2.y from t1 join t2 on t1.a=t2.a and t1.b=t2.b and t1.c = t2.c;
最佳答案
它们在逻辑上是等价的,应该产生相同的结果。然而,最后一个是首选,因为它更正确地说明了查询的语义 - 即“连接表 t1 和 t2”。
WHERE 子句应该用于“过滤”连接的结果 - 例如
... WHERE t2.some_col > 10
关于sql - 所有这些 SQL 连接在逻辑上都是等价的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/578450/
我是一名优秀的程序员,十分优秀!