为简单起见,假设所有相关字段都是NOT NULL.
你可以做:
SELECT
table1.this, table2.that, table2.somethingelse
FROM
table1, table2
WHERE
table1.foreignkey = table2.primarykey
AND (some other conditions)
Run Code Online (Sandbox Code Playgroud)
要不然:
SELECT
table1.this, table2.that, table2.somethingelse
FROM
table1 INNER JOIN table2
ON table1.foreignkey = table2.primarykey
WHERE
(some other conditions)
Run Code Online (Sandbox Code Playgroud)
这两个是以同样的方式工作MySQL吗?
我想知道SQL在这些连接语句上执行的方式是否有任何不同:
SELECT * FROM a,b WHERE a.ID = b.ID
SELECT * FROM a JOIN b ON a.ID = b.ID
SELECT * FROM a JOIN b USING(ID)
Run Code Online (Sandbox Code Playgroud)
有性能差异吗?还是算法差异?
或者只是语法糖?