不同环境中MySQL语法不同问题

(说明:我在力扣写SQL题时用的是MySQL语法,官方显示版本是MySQL8.0,学习中我使用的是Navicat连接MySQL8.0)
力扣(使用MySQL)和MySQL中自连接语法不同。
力扣刷SQL题时,可以使用的自连接语法如下,可以使用ON子句选择筛选条件:

SELECT *
FROM table1,table2

但是,我在MySQL中使用这段语法查询出的是交叉连接的信息,使用ON子句会报错。

我在视频课程中学到的是,连接两张表时,只写JOIN,表示的是交叉连接,在Navicat当中也确实是这样的,但是在力扣中,只写JOIN或者写table1,table2表示的是自连接,而且可以使用ON子句,请问为什么两者语法不同呢?

LeetCode中的SQL题目是为了刷题而设计的,可能会有一些与标准SQL语法不同的地方。在LeetCode中,可以在FROM子句中使用多个表,并使用ON子句指定连接条件,而不需要使用INNER JOIN关键字,可以更加简洁地表达查询语句。但在实际工作中,建议使用标准的SQL语法,以避免出现不必要的错误。

你图中这样写的是不等值连接,产生的结果是笛卡尔积后的结果,在不等值连接的基础上想要实现等值连接后面接where条件。如果你使用的是inner join这类连接后面接on做连接条件