相关疑难解决方法(0)

INNER JOIN ON vs WHERE子句

为简单起见,假设所有相关字段都是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吗?

mysql sql join inner-join

893
推荐指数
9
解决办法
57万
查看次数

有关使用显式ANSI JOIN和隐式连接的Oracle官方建议吗?

注意:我不是要求您告诉我"使用显式连接",而是寻找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)

我错过了一段吗?

oracle join

16
推荐指数
2
解决办法
5034
查看次数

标签 统计

join ×2

inner-join ×1

mysql ×1

oracle ×1

sql ×1