自然连接和内连接的区别
1. 自然加入:
2. 自然连接基于相同的属性名称和数据类型连接两个表。结果表将包含两个表的所有属性,但每个公共列仅保留一份副本。
例子:
考虑下面给出的两个表:
学生表:
分数表:
考虑给定的查询:
SELECT *
FROM Student NATURAL JOIN Marks;
查询输出:
1. 内连接:
2. 内连接基于在 ON 子句中明确指定的列连接两个表。结果表将包含两个表中的所有属性,包括公共列。
例子:
考虑上面的两个表,查询如下:
SELECT *
FROM student S INNER JOIN Marks M ON S.Roll_No = M.Roll_No;
查询输出:
SQL中Natural JOIN和INNER JOIN的区别:
SR.NO. | 自然连接 | 内连接 |
---|---|---|
1 | 自然连接基于相同的属性名称和数据类型连接两个表。 | 内连接基于在 ON 子句中明确指定的列连接两个表。 |
2 | 在自然连接中,结果表将包含两个表的所有属性,但每个公共列只保留一份副本 | 在内连接中,结果表将包含两个表的所有属性,包括重复列 |
3 | 在自然连接中,如果没有指定条件,则返回基于公共列的行 | 内连接中,只返回两个表中都存在的记录 |
4 | 语法: SELECT * FROM table1 NATURAL JOIN table2; |
语法: SELECT * FROM table1 INNER JOIN table2 ON table1.Column_Name = table2.Column_Name; |
注:SQL Server Management Studio(也称为 Microsoft SQL Server)不支持自然联接。