![]() |
1
3
我不同意其他答案。 这是一个MySQL缺陷。 实际上是bug #83707 在MySQL 5.6中。看起来它在MySQL 5.7中已修复 MariaDB 5.5中已经修复了此错误。 内部连接策略(如嵌套循环连接、合并连接或哈希连接)并不重要。在任何情况下,结果都应该是正确的。 我在PostgreSQL和Oracle中尝试了相同的查询,结果与预期一样,在最后三行返回空值。 Oracle示例
结果:
工作完美! PostgreSQL示例
结果:
而且,效果很好! |
![]() |
2
1
视图的处理算法导致此结果。默认情况下,MySQL通常选择MERGE,因为它更高效。如果使用“诱人”算法创建视图,则对于不匹配的行,可以看到NULL。 http://www.mysqltutorial.org/create-sql-views-mysql.aspx
|
![]() |
3
0
这是正常的方式
通常,两者之间没有区别
事实上,如果你想知道
|
![]() |
Community wiki · SQL语法新手 1 年前 |
|
KateMak · 是否将多行中的多列与唯一id组合? 1 年前 |
![]() |
Karuna · SQL中列内的筛选器[重复] 1 年前 |
![]() |
Irvan Affandy · 为另一个选择选择声明的键 1 年前 |
![]() |
Community wiki · 这个MySQL语句出了什么问题? 1 年前 |
![]() |
Community wiki · 优化从同一表中提取的多列的查询 1 年前 |