SQL中自然联接和内部联接之间的区别

2021年4月14日14:38:43 发表评论 3,407 次浏览

先决条件–联接(内部, 左侧, 右侧和完全联接)

1.自然联接:

自然联接根据相同的属性名称和数据类型联接两个表。结果表将包含两个表的所有属性, 但每个公共列仅保留一个副本。

例子:

考虑下面给出的两个表:

学生表

SQL中自然联接和内部联接之间的区别1

标记表

SQL中自然联接和内部联接之间的区别2

考虑给定的查询

SELECT * 
FROM Student S NATURAL JOIN Marks M;

输出如下:

SQL中自然联接和内部联接之间的区别3

2.内部联接:

内部联接基于ON子句中明确指定的列联接两个表。结果表将包含两个表的所有属性, 包括common列。

例子:

考虑上面的两个表, 查询如下:

SELECT * 
FROM student S INNER JOIN Marks M ON S.Roll_No = M.Roll_No;

输出:

SQL中自然联接和内部联接之间的区别4

SQL中的自然联接和内部联接之间的区别:

编号 自然联接 内部联接
1. 自然联接根据相同的属性名称和数据类型联接两个表。 内部联接基于ON子句中明确指定的列联接两个表。
2. 在自然联接中, 结果表将包含两个表的所有属性, 但每个公共列仅保留一个副本 在内部联接中, 结果表将包含两个表的所有属性, 包括重复的列
3. 在自然联接中, 如果没有条件指定, 则它将基于公共列返回行 在内部联接中, 将仅返回两个表中都存在的那些记录
4. 语法如下:
SELECT *
FROM table1 NATURAL JOIN table2;
语法如下:
SELECT *
FROM table1 INNER JOIN table2 ON table1.Column_Name = table2.Column_Name;

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: