【发布时间】:2020-11-20 05:09:39
【问题描述】:
我的问题是两者有什么区别
SELECT id, name
FROM table_a a
JOIN table_b b
LEFT JOIN table_c c
ON a.id = b.id and a.name = c.name
和
SELECT id, name
FROM table_a a join table_b b on a.id=b.id
left join table_c on a.name = c.name
【问题讨论】:
-
第一个版本真的运行了吗?如果是,结果集是否相同?
-
您能否分享您自己用于此测试的数据以及您亲眼看到的输出?
-
我认为第一个查询实际上不会起作用。
Join没有on或using将返回语法错误。 -
查询在 MySQL 中是合法的(除了一个错字 - 在第二个查询中
table_c的别名丢失)。 -
@t.peter 没有 ON 或 USING 的 JOIN 就可以了
标签: mysql sql join left-join inner-join