我偶然发现KhanAcademy接受省略了join-keyword。 我认为这是一个错误,但这可以作为一个功能吗?一种"半显式连接",以获得更紧凑的语法。 在学习SQL时,还有一种更直观的方法可以逐步从隐式连接移动到显式连接。
" 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;
答案 0 :(得分:0)
我发现这在sqlite3中有效,因为逗号在表之间被解释为join-keyword:
还写了一篇关于此的文章: https://medium.com/@punnerud/sqlite3-bug-og-hidden-feature-6572e45a5adb