我的 table :
abc
+--------+
| letter |
+--------+
| a |
| b |
+--------+
查询:
SELECT *
FROM abc t1 INNER JOIN abc t2
ON true
结果:
+--------+--------+
| letter | letter |
+--------+--------+
| a | a |
| b | a |
| a | b |
| b | b |
+--------+--------+
ON true
是做什么的或如何工作的?
最佳答案
虽然我从未见过这种确切的语法(出于显而易见的原因 - 它确实没有什么用处,我不希望在现实世界中遇到它)我的猜测是结果将是笛卡尔积,因为condition 指出当 condition 计算为真时 t1 中的行应该与 t2 中的行匹配,它总是这样做。因此,第一组中的所有行都将与第二组中的所有行匹配。
条件永远不会针对其他任何事物进行尝试,只有它本身和 true
将始终评估为 true。
关于mysql - 内部连接为真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31710195/