mysql 两张表合并查询_第五关课后作业:多表查询

本关重点:1、标的加法;2、标的连接;3、联结应用案例;4、case表达式

1、标的加法 union

利用union 可以将两张结构相同的表,相加在一起,并自动将重复的数据识别出来并只保留唯一值;union all 用法不同处在于,不会区别不同数据,而是将所有数据都选择进来。

例:

eb0403e1d977ef4ebccf8a52dd2fe7c4.png

cfcab83648c1d00605ffbf2244a73967.png

2、表的联结 join

1)交叉联结 cross join :将表中的每一行都与另个表中的每一行合并在一起,交叉联结结果的行数,是两张表行数的乘积;

2)内联结:inner join: 已关键字为基础, 查找出同时存在于两张表中的数据;

例:

bd817c2e841f333f0f711b4741baae11.png

3)左联结 left join: 以关键字为基础,将左面表中的数据全部取出来,同时取出右边表中相匹配的数据。

例:

ca3d087537226c830625f5385496a400.png

9d1d9ce81c121becbb21879ebb3d3747.png

4)右联结 right join :以关键字为基础,取出右边表中的全部数据,同时左边表中与用变表中具有相同关键字的数据会被取出。

例:

dce8c00b76a8a51003b6b38c850e41a6.png

5) 全联结: full join:以关键字为基础,显示取出两个表中均对应相同关键字的行,进行联结,在针对两张表中关键字不一一对应的数据,进行操作,左侧表中的数据取出,若右侧表中没有对应关键字,则以null代替,反之同样。(mysql不支持全联结)

3、 联结应用案例

1)、查询所有学生的学号、姓名、选课数、总成绩

2559e813019373f5cc31ba097416058a.png

2)查询平均成绩大于85的所有学生的学号,姓名,平均成绩

cf08fc31b515d842ff6f352edd99ef6b.png

3)查询学生的选课情况:学号 姓名 课程号 课程名称

f5ffd338f19c6b69cedd63fa7d0829dd.png

4、 case 表达式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值