使用T-SQL实现多表查询

一、表联接类型

        表联接类型可以分为内联接、外联接和交叉联接等。

1、内联接
        内联接(inner join)是最常用的---种联接方式,只返回两个数据集合之间匹配关系的行,将位于两个互相交叉的数据集合中重叠部分以内的数据行联接起来。
        内联接使用比较运算符进行表间某(些)列数据的比较操作.并列出这些表中与联接相匹配的数据行。
2.外联接
        外联接(outer join)是对内联接的扩充.除了将两个数据集合中重复部分以内的数据行联接起来之外,还可以根据要求返回左侧或右侧表中非匹配的数据或全部的数据。
        外联接分为以下几种。
1)左外联接
        左外联接(left join 或 left outer join)的结果集包括左表的所有行。如果左表的某一行在右表中没有匹配行,则右表返回空值.否则返回相应值。
2)右外联接
        右外联接(right join或right cuter join)是左外联接的反向联接.将返回右表的所有行。如果右表的某一行在左表中没有匹配行.则左表返回空值,否则返回相应值。
3)全联接/完整外联接
        全联接/完整外联接(full join 或full outer join)将返回左表和右表中的所有行。当某一行在另—个表中没有匹配行时,另一个表返回空值,否则返回相应值。

3.交叉联接
        交叉联接就是表之间没有任何关联条件.查询将返回左表与右表挨个联接的所有行
,就是左表中的每行与右表中的所有行再—一组合,相当于两个表“相乘”。

        
实验环境

        某公司有一台已经安装了SQL Server 2016 的服务器,class 数据库中包含products表和sales表,表中内容分别如图所示

 需求描述

在products表和sales表中查询产品的名称.种类.成本.销售地点和销售价格。

select products.名称 名称products,products.种类 种类products,products.成本 成本products,
sales.名称 名称sales,sales.销售地点 销售地点sales,sales.销售价格 销售价格sales
from products inner join sales on products.名称=sales.名称

在products表和sales表中查询销往海南的产品名称、种类.成本和销售价格。

select products.名称 名称products,products.种类 种类products,products.成本 成本products,
sales.销售价格 销售价格sales
from products inner join sales on products.名称=sales.名称
where 销售地点='海南' 

 

在products表和sales表中查询销往北京的蔬菜名称、种类.成本和销售价格。

select products.名称 名称products,products.种类 种类products,products.成本 成本products,
sales.销售价格 销售价格sales
from products inner join sales on products.名称=sales.名称
where 销售地点='北京' and 种类='蔬菜'

 


 

        

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值