为简单起见,假设所有相关字段都是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吗?
注意:我不是要求您告诉我"使用显式连接",而是寻找Oracle官方立场,如果有任何关于该主题的话.
从Oracle数据库文档(也出现在9i和11g文档中):
Oracle建议您使用
FROM子句OUTER JOIN语法而不是Oracle连接运算符.使用Oracle join运算符的外连接查询(+)受以下规则和限制的约束[...]
换句话说,Oracle建议更喜欢这两种形式中的第一种:
FROM a LEFT JOIN b ON b.x = a.x
vs
FROM a, b WHERE b.x(+) = a.x
Run Code Online (Sandbox Code Playgroud)
但是,我从来没有在任何Oracle文档中找到一个建议,最好使用这两种形式之一:
FROM a INNER JOIN b ON b.x = a.x
vs
FROM a, b WHERE b.x = a.x
Run Code Online (Sandbox Code Playgroud)
我错过了一段吗?