1.2(easy) 组合两个表

一、题目

 

 

二、分析

可以通过连接两个表实现需求。由于提示是无论 persion 是否有地址信息,都要显示 FirstName 等,故需要以 Person 表为基表。

 

三、语句

3.1 使用 left join 连接两个表

select 
    a.FirstName, 
    a.LastName,
    b.City,
    b.State
from
    Person a left join Address b on a.PersonId = b.PersonId

 

四、知识点

4.1 连接 join xxx on xx 

内联接: inner join

inner join(等值连接) 只返回两个表中联结字段相等的行。

 

左联接: left join

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录。

 

右联接: left join

right join(右联接) 返回包括右表中的所有记录和右表中联结字段相等的记录。

 

交叉联接: cross join

cross join(交叉联接) 即对表做笛卡尔积,不用on连接。需要注意的是若表有1000条,则交叉联接后表数据条数为

1000*1000 = 10w条。故慎用!

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值