The most common type of join is: SQL INNER JOIN (simple join). An SQL INNER JOIN return all rows from multiple tables where the join condition is met.
这是W3Schools关于Inner Join的内容。我正在阅读Korth的数据库管理,其中的一章是关系代数。在那里,有一个自然加入,在我有限的理解中,与Inner Join相同。
有人可以告诉我两者之间是否存在差异,或者他们是指同一事物的不同名称。
答案 0 :(得分:6)
自然联接是内部联接的表单,其中联接隐含在联接两侧的所有匹配名称列中。
E.g。
Table A
abc int
def int
ghi varchar(20)
Table B
abc int
def int
jkl int
表A和表B之间的自然连接与列abc
和def
上的内连接相同。
无法用自然连接替换的内部连接:
TableA
inner join
TableB
on
TableA.Column1 = TableB.Column2 --Column names don't match
或
TableA
inner join
TableB
on
TableA.Column1 >= TableB.Column1 --Not equality
答案 1 :(得分:2)
自然连接和内连接不是相同的命令 自然连接在公共列的值相等的基础上连接表而不在查询中键入条件......而内连接基于查询中指定的条件连接表,可以是“=”或“> =“或”< =“....
自然加入:
tab1 NATURAL JOIN tab2;
这将自动检查公共列的值是否相等
Iner加入:
tab1 INNER JOIN tab2 ON(条件);
此外,NATURAL JOIN在查询输出中给出公共列一次,而INNER JOIN给出两个表的公共列