小编典典

Oracle SQL全外部联接

sql

我使用FULL OUTER JOIN联接了2个表,这花了6分钟来运行并给出输出。

SELECT * 
FROM tab1 FULL OUTER JOIN tab2
ON tab1.id = tab2.id
;

我使用LEFT OUTER JOIN和RIGHT OUTER JOIN的UNION做了同样的事情。仅用了15秒

SELECT *
FROM tab1, tab2
WHERE tab1.id (+) = tab2.id

UNION

SELECT *
FROM tab1, tab2
WHERE tab1.id  = tab2.id (+)
;

有人知道为什么会这样吗?


阅读 150

收藏
2021-04-28

共1个答案

小编典典

您可能在两个表中都有很多行,共有几行,并且所讨论的列上没有索引。

2021-04-28