在sql查询中,left join、right join 和 inner join 是三种基础且关键的表连接方式,初学者常对其逻辑边界感到困惑。下面我们将结合实际示例,系统梳理三者的本质差异、执行逻辑及典型使用场景,帮助你精准把握每种连接的核心机制。
1、 启动SQL Server,创建User(用户信息表)和Score(成绩记录表)两张数据表,其字段结构如下所示:


2、 分别向User表与Score表中插入测试数据,具体数据内容如下:


3、 执行左连接(LEFT JOIN)操作:以User表为驱动表(左表),Score表为被关联表(右表),依据UserID字段进行匹配。该连接确保User表中所有记录均出现在结果集中;若某用户在Score表中无对应成绩,则Score表相关列将填充为NULL。

4、 执行右连接(RIGHT JOIN)操作:仍以User表与Score表进行关联,但此时Score表作为主表(右表),User表作为从表(左表)。最终结果集保留Score表全部行;当Score中某条记录的UserID在User表中找不到匹配项时,User表对应字段值显示为NULL。

5、 执行内连接(INNER JOIN)操作:仅返回User表与Score表中UserID完全匹配的交集数据,即两表都存在对应关系的记录才会出现在结果中,不满足关联条件的行一律被过滤掉。










