SQL: MySQL表连接

MySQL表连接如图: 

示例:

students表

idnameageclass_id
1张三121
2李四132
3独孤166
4阿花152

classes表 

idclass_nameteacher_id
1一班2
2二班1
3三班3

1.左连接

select * from students s 
left join classes c on s.class_id=c.id
idnameageclass_idid(1)class_nameteacher_id
1张三1211一班2
2李四1322二班1
7阿花1522二班1
3独孤166

2.内连接

-- 写法1 显式
select * from students s inner join classes c on s.class_id=c.id
-- 写法2 显式 默认
select * from students s join classes c on s.class_id=c.id
-- 写法3 隐式
select * from students s, classes c where s.class_id=c.id
idnameageclass_idid(1)class_nameteacher_id
1张三1211一班2
2李四1322二班1
7阿花1522二班1

3.右连接

select * from students s 
right join classes c on s.class_id=c.id
idnameageclass_idid(1)class_nameteacher_id
1张三1211一班2
2李四1322二班1
7阿花1522二班1
3三班3

4.左连接 仅左边独有

select * from students s 
left join classes c on s.class_id=c.id
where c.id is null
idnameageclass_idid(1)class_nameteacher_id
3独孤166

5.全连接 左右都包含

select * from students s 
left join classes c on s.class_id=c.id
union
select * from students s 
right join classes c on s.class_id=c.id
idnameageclass_idid(1)class_nameteacher_id
1张三1211一班2
2李四1322二班1
7阿花1522二班1
3独孤166
3三班3

6.右连接 仅右边独有 

select * from students s 
right join classes c on s.class_id=c.id
where s.id is null
idnameageclass_idid(1)class_nameteacher_id
3三班3

接下来我再去看集合 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wo.austin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值