MySQL 多表联查

内联:        查询结果取两个表的交集,不包含空的结果

表1 inner join 表2 on 连接条件 inner join 表3 on 连接条件;

select * from student inner join sc on sc.S = student.S;

 

可以看到没有‘王菊’和‘09’的信息,因为他们不存在于student和sc的交集中。 


左联:        查询结果以左边表为基准,匹配行,如果没有就显示空

表1 left join 表2 on 连接条件;

select * from student left join sc on sc.S = student.S;

 

可以看到有‘王菊’ 没有‘09’,因为以student表为准。


右联:        查询结果以右边表为基准,匹配行,如果没有就显示空

表1 right join 表2 on 连接条件;

select * from student right join sc on sc.S = student.S;

 

可以看到有‘09’ 没有‘王菊’,因为以sc表为准。


笛卡尔积:  在关系数据库中,笛卡尔积是对两个表的每一行进行组合,结果是两个表的所有可能的行对。比如,表A有3行,表B有4行,那么笛卡尔积的结果将是3×4=12行。查询结果和内联一致,但是查询效率低,不推荐使用。

select * from 表1,表2 where 连接条件;

select * from student, sc where sc.S = student.S;

 

结果与内联的结果一致,但是效率低下一般不推荐使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值