SQL Server 2019 连接查询实验

一、相关知识点

数据库连接是指在关系数据库中,通过使用一个或多个共同的列(即关键字),将两个或多个表中的行组合起来,形成一个容纳这些数据的大表。其中,等值连接是基于两个或多个表中的共同值进行的,只返回那些在两个表中都存在的数据;而外连接则会返回某个表中所有的数据,以及与之匹配的那些在另一个表中存在的数据。左外连接和右外连接则分别指的是返回左表或右表所有数据,以及与之匹配的另一个表中的数据。

二、软件版本

Microsoft SQL Server Management Studio(v18.7.1)

三、实验所用数据库

实验所基于的销售管理数据库中涉及以下表:

四、实验内容

1、连接查询

(1)查询“国皓科技有限公司”的订单信息

(2)查询“三川实业有限公司”订购的商品信息,输出字段为:                                                        CompanyName,ProductName,Price,SellOrderNumber。

(3) 查询各公司各种商品的订单数量,输出字段为:CompanyName,ProductName,订单数量,按照订单数量升序排列。

(4) 查询各公司各种商品的订货总量、总金额。输出字段为:CompanyName,ProductName,订货总量,总金额。按照总金额降序排列。

2、自身连接

(1)查询和“章宏”同一部门的员工号,员工姓名。

(2)查询既订购过3号产品,又订购过4号产品的客户号。

3、外连接

(1)查询没有接收到订单的员工姓名。

(2)查询没有任何订购信息的客户公司名。

(3)查询没有被订购的商品名称。

五、实验过程及数据记录

1、连接查询

(1)查询“国皓科技有限公司”的订单信息

(2)查询“三川实业有限公司”订购的商品信息,输出字段为:                                                       CompanyName,ProductName,Price,SellOrderNumber。

(3) 查询各公司各种商品的订单数量,输出字段为:CompanyName,ProductName,订单数量,按照订单数量升序排列。

(4) 查询各公司各种商品的订货总量、总金额。输出字段为:                                           CompanyName,ProductName,订货总量,总金额。按照总金额降序排列。

2、自身连接

(1)查询和“章宏”同一部门的员工号,员工姓名。

(2)查询既订购过3号产品,又订购过4号产品的客户号。

3、外连接

(1)查询没有接收到订单的员工姓名。

(2)查询没有任何订购信息的客户公司名。

(3)查询没有被订购的商品名称。

六、实验小结

1、普通连接的条件写在where短语中,而外连接的条件写在from短语中。

2、左外连接保留左侧表中的悬浮元组,而右外连接保留右侧表中的悬浮元组。一般查询要求中含有“没有……”之类的语句就需要考虑外连接和‘XX is null’一起使用。

3、在进行连接时,要想象连接之后的表。我认为,连接操作就是将两个关系的笛卡儿积中满足条件的元组保留,其他的舍弃。外连接还保留了部分悬浮元组,左外连接只保留了左边关系中的悬浮元组,右外连接只保留了右边关系中的悬浮元组。

4、如果需要对同一个表进行两次查询操作,就可以考虑自身连接。

5、数据库查询中需要用到的连接多为等值连接。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值