数据库的表连接

本文介绍了关系数据库中连接查询的重要概念,包括内连接、左连接和右连接。内连接返回相关表之间的匹配行,左连接保留左表的所有行并用NULL填充右表未匹配的部分,而右连接则保留右表的所有行。通过实例展示了三种连接在数据查询中的应用,帮助理解如何根据需求选择合适的连接类型。
摘要由CSDN通过智能技术生成

一、连接表

    在关系数据库中,数据分布在多个逻辑表中。 要获得完整有意义的数据集,需要使用连接来查询这些表 中的数据。

SQL Server支持多种连接,包括 [内连接][左连接][右连接][全外连接][交叉连接]

每种连接类型指定SQL Server如何使用一个表中的数据来选择另一个表中的行。

由于篇幅有限,这次只讲3种连接:[内连接][左连接][右连接]

二、内连接。

内连接是SQL Server中最常用的连接之一。 内部联接子句用于查询来自两个或多个相关表的数据。

连接语句:inner join;  

关联语句:on;

内连接查询出来的结果集。

三、左连接。

    Left join子句用于查询来自多个表的数据。

它返回左表中的所有行和右表中的匹配行。

如果在右表中找不到匹配的行,则使用 NULL 代替显示。

以下图说明了两个结果集的左连接结果:

色部分表示返回的结果集

以下是左连接的大致语法

对于 T1 表中的每一行,查询将其与 T2 表中的所有行进行比较。

如果一对行导致连接谓词计算为 TRUE ,则将组合这些行中的列值以形成新行,然后将其包含在结果集

中。

如果左表( T1 )中的行没有与来自 T2 表的任何匹配行,则查询将左表中的行的列值与来自右表的每个列

值的 NULL 组合。

Left join 子句返回左表( T1 )中的所有行以及右表( T2 )中匹配的行或 NULL 值 ,但我们使用左连接时,一般都是为了结果集中,含有NULL值的行。

如:一个商店数据库中,有产品表,和订单表,我们想要知道,这个商店有哪些产品没有出售过。那么就可以使用左连接,左表为产品表,右表为订单表,中间交互的为拥有订单记录的产品。

 

  • 右连接。

    Right join子句组合来自两个或多个表的数据Right join开始从右表中选择数据并与左表中的行

匹配。Right join返回一个结果集,该结果集包含右表中的所有行,无论是否具有左表中的匹配行。

如果右表中的行没有来自右表的任何匹配行,则结果集中右表的列将使用 NULL值。 恰好与左连接相反。

以下是Right join的语法:

    下图说明了 RIGHT JOIN 操作:

  

橙色部分表示返回的结果集。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值