3

外部连接在我看来有点令人困惑。

有没有人可以让我清楚地了解外部连接右、左和完整)?

4

4 回答 4

7

原始问题/答案:https ://stackoverflow.com/questions/3308122/how-do-i-decide-when-to-use-right-join-left-join-or-inner-join-or-how-to -威慑/3308153#3308153

阅读关于The Code Project 的这篇原创文章会对您有很大帮助:SQL 连接的可视化表示

替代文字

于 2010-09-02T06:28:32.847 回答
1

我一直认为的方式是:

LEFT JOIN - keeps all rows selected on the left  
RIGHT JOIN - keeps all rows selected on the right  
FULL JOIN - keeps all rows selected on both sides  

无需访问 Wikipedia 或绘制图表,即可轻松记住。

PS Death to Oracle + join 语法!

于 2010-09-02T14:43:28.250 回答
1

关于联接的维基百科文章应该对您有所帮助。

Oracle 外连接的特别之处在于旧的符号使用(+),但现在已经过时了。

于 2010-09-02T06:28:35.250 回答
1

我从来不喜欢@Pranay Rana 的回答中使用的那些经常看到的图片。它们显示集合操作但不显示连接。例如,顶部中间的图片是A union B,左侧中间是A except B(或者我认为A minus B是 Oracle),依此类推。

还要考虑关系模型中不存在 null ,因此无论如何您都无法使用维恩图绘制它!;)

我认为如果不使用表,就无法绘制外连接的图片,例如这个

于 2011-09-14T08:58:24.697 回答