MySQL多表连接(交叉连接、自然连接、内连接、左外连接、右外连接)

准备

在数据库建立两张表

t_student学生表:scid、sname、cid

t_clazz班级表:cid、cname

1.交叉连接

交叉连接结果是笛卡尔积

左表的每条记录与右表的每条记录连接

SELECT * FROM t_student CROSS JOIN t_clazz ;

结果:15条记录

2.自然连接

自然连接是对两个表之间相同名字和数据类型的列进行等值连接

SELECT * FROM t_student NATURAL JOIN t_clazz;

结果:4条记录

3.内连接

查询出两个表的共同部分

(笛卡尔积满足on条件的部分)

SELECT * FROM t_student s INNER JOIN t_clazz c ON s.`cid`=c.`cid`;

结果:4条记录

4.左外连接

查询出两个表的共同部分+属于左表不属于右表部分

SELECT * FROM t_student s LEFT JOIN t_clazz c ON s.`cid`=c.`cid`;

结果:5条记录

5.右外连接

查询出两个表的共同部分+属于右表不属于左表部分

SELECT * FROM t_student s RIGHT JOIN t_clazz c ON s.`cid`=c.`cid`;

结果:5条记录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值