【2017-03-13】Tsql 表连接

本文深入解析SQL中的笛卡尔积与表连接概念,包括横向连接、纵向连接及左连接、右连接的使用方法,并通过实例说明如何在不同场景下选择合适的连接方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

笛卡尔积          穷举

在未建立连接的情况下,将car表的name列和brand表的brand_name列进行笛卡尔积查询后,实际是将两列相乘,进行穷举,列举出所有可能性

 

表连接:将多个表不同列的数据查询到一起

1.横向连接

select 列a,列b from 表p,表q where p.o=q.o         o为两表中同时拥有的一列

另一种写法 select 列a,列b from 表p join 表q on p.o=q.o

例:select Student.Sno,Sname,Cno,Degree from Student,Score where Student.Sno=Score.Sno

=   select Student.Sno,Sname,Cno,Degree from Student join Score on Student.Sno=Score.Sno 

 

在 join前加上left 是以 join左边的表为主      select Student.Sno,Sname,Cno,Degree from Student left join Scroe on Student.Sno=Scroe.Sno 

在 join前加上right是以join右边的表为主      select Student.Sno,Sname,Cno,Degree from Student right join Scroe on Student.Sno=Scroe.Sno

 

2.纵向连接      两个表之间添加  union

只有两个表列数一样,每列对应的数据类型一样,才可以进行纵连接

转载于:https://www.cnblogs.com/snow22546/p/6549674.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值