内部连接为真

inner join on true

我的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 do/work 是什么或如何做?

虽然我从未见过这种确切的语法(出于显而易见的原因 - 它确实没有什么用处,我不希望在现实世界中遇到它)我的猜测是结果将是笛卡尔积因为条件表明当条件评估为真时 t1 中的行应该与 t2 中的行匹配,它总是这样做。因此第一组中的所有行都将与第二组中的所有行匹配。

条件永远不会针对其他任何事物进行尝试,只有它本身,true 将始终评估为真。