是否可以跳过Join关键字?

时间:2018-03-23 14:01:15

标签: sql

我偶然发现KhanAcademy接受省略了join-keyword。 我认为这是一个错误,但这可以作为一个功能吗?一种"半显式连接",以获得更紧凑的语法。 在学习SQL时,还有一种更直观的方法可以逐步从隐式连接移动到显式连接。

KhanAcademy

使用自我加入

" new"自我加入的版本:

SELECT * FROM table1 a,
table2 b on a.id = b.id,
table2 c on a.id = c.id;

隐含的自我加入:

SELECT * FROM table1 a, table2 b, table2 c
where a.id = b.id
and a.id = c.id;

明确的自我加入:

SELECT * FROM table1 a
join table2 b on a.id = b.id
join table2 c on a.id = c.id;

1 个答案:

答案 0 :(得分:0)

我发现这在sqlite3中有效,因为逗号在表之间被解释为join-keyword:

join-operator

还写了一篇关于此的文章: https://medium.com/@punnerud/sqlite3-bug-og-hidden-feature-6572e45a5adb