egg mysql 链接查询,mysql多表查询 - osc_eegg9ccs的个人空间 - OSCHINA - 中文开源技术交流社区...

多表查询,SQL JOINS

d6844d635dbf1a7cc1b20aa14842b3a6.png

1. inner join内连接

3d1e8801d0cae2a500d51d946f6e6367.png

select s.name as student_name,t.name as teacher_name from students as s inner join teachers as t on s.teacherid=t.tid; /*2张表取交集,内连接*/

c7aa021df4f09b1e2a16cb45da761864.png

2. 交叉连接

select * from students cross join teachers; /*笛卡尔乘积,students表内容和teacher表内容各自组合一遍*/

b05b20f3bd5964c77a033b4f14bd7ea0.png

3. 左外连接

select s.name as student_name,t.name as teacher_name from students as s left outer join teachers as t on s.teacherid=t.tid;

41bf647965945f8dff6739ce9363704e.png

1.)左内连接

select s.name as student_name,t.name as teacher_name from students as s left outer join teachers as t on s.teacherid=t.tid and t.name is null;

40d65dfae1ba98de113c2b3b80290047.png

4.右外连接

select s.name as student_name,t.name as teacher_name from teachers as t right outer join students as s on s.teacherid=t.tid;

6e66f20c43b000fb6e43c5cac773b4dc.png

5.完全外连接

union

76b773991f747104a6fb70cbf5d0b75c.png

MariaDB [hellodb]> select s.name as student_name,t.name as teacher_name from students as s left outer join teachers as t on s.teacherid=t.tid

-> union

-> select s.name as student_name,t.name as teacher_name from students as s right outer join teachers as t on s.teacherid=t.tid;

24183b421aa5ede469a5ad7a90e3d3a2.png

5.自连接

select s1.name as emp, s2.name as leader from students as s1 inner join students as s2 on s1.teacherid=s2.stuid; /*使用内连接取2张表的交集*/

c01d8008d1408031d97dd5be41435779.png

select s1.name as emp, s2.name as leader from students as s1 left outer join students as s2 on s1.teacherid=s2.stuid; /*使用左外连接取2张表的交集*/

96fbefe93879ad9cb70c162b6cc6ce99.png

6.子查询

#查看分数大于平均分的分数

select stuid,score from scores where score > (select avg(score) from scores);

9dea393b15327b1002dfa422f0394aa4.png

#查询分数大于平均分数,学生的姓名和分数

select st.name,sc.score from students as st inner join scores as sc on st.stuid=sc.stuid and score > (select avg(score) from scores);

00bb06ceb3cfe877fdba7f6d03e0fbfb.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值