问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

自然连接和内连接的区别

创作时间:
作者:
@小白创作中心

自然连接和内连接的区别

引用
1
来源
1.
https://geek-docs.com/sql/sql-ask-answer/the-difference-between-natural-join-and-inner-join.html

自然连接(Natural Join)和内连接(Inner Join)是SQL中常用的两种表连接方式,它们在连接条件和结果集上存在一些关键区别。本文将通过具体的SQL查询示例和表格数据,详细解释这两种连接方式的特点和应用场景。

自然连接(Natural Join)

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

例子:

考虑下面给出的两个表:

学生表:

分数表:

考虑给定的查询:

SELECT * 
FROM Student NATURAL JOIN Marks;

查询输出:

内连接(Inner Join)

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

例子:

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

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

查询输出:

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)不支持自然联接。

本文原文来自geek-docs.com

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号