外连接在我看来有点令人困惑。
有没有人可以让我清楚地了解外部联接(右,左和完整)?
答案 0 :(得分:7)
在The Code Project上阅读这篇原创文章会对您有所帮助:Visual Representation of SQL Joins。
答案 1 :(得分:1)
Wikipedia article about Joins可以帮到你。
关于Oracle Outer连接的特殊之处是使用(+)
的旧标记,但它现在已经过时了。
答案 2 :(得分: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
轻松掌控,无需访问维基百科或绘制图表。
P.S。死于Oracle +加入语法!
答案 3 :(得分:1)
我从未喜欢@Pranay Rana的回答中使用的那些常见图片。它们显示设置操作但不显示连接。例如,顶部中间图片为A union B
,左侧中间图片为A except B
(或者我认为Oracle为A minus B
),依此类推。
还要考虑关系模型中不存在null,因此无论如何都无法使用维恩图绘制它的图片! ;)
我不认为可以在不使用表格的情况下绘制外部联接的图片,例如this one。