mysql多表联合查询_Mysql多表查询

练习用表

course

53cc5c6cb3c875503b6408e48e17fbee.png

course1

fab746bcedcda5ef66a07f1a35c04acc.png

student

feedf8a7153020645514699786e205d1.png

score

a66f1a3aab26b019b69b780b3bd572fb.png

一.表的加法

Union

-- union(按字段名连接,加法)

82e319bee40ba0ae800138beb7d0db02.png

二.表的连接

Join

-- inner JOIN (两表相交部分)

d43dba0d1fa30b059a40da06af4db77f.png
-- left JOIN(显示相交及左边表的全部信息)

只运行前三行结果

07b71d0d371963c584700eab3191b437.png

运行所有代码结果

5d5eff34236cc0d592a416a50d4f8eda.png

right join 与左连接相反,好理解

-- 右连接right JOIN

所以运行结果为空值

8e7da995ec4f50f93f644bd63f4c831f.png

三.联结的应用级案例

-- 查询所有学生的学号,姓名,选课数,总成绩
select a.学号,a.姓名,count(b.课程号) as 选课数,sum(b.成绩)as 总成绩
from student as a left join score as b -- 需要连接的表:student表展示学号,学生姓名,score表展示对应的选课数和总成绩,用左连接显示所有student表的信息
on a.学号=b.学号 -- 通过学号进行匹配
group by a.学号; -- 按学号分组展示

运行结果

999d3b30c262e524b21b6acc008583be.png
-- 查询平均成绩大于85的所有学生的学号,姓名,和平均成绩

运行结果

89919801a5ed2b73f28d7fc1f46ddfd9.png
-- 查询学生的选课情况,学号,姓名,课程号,课程名称

运行结果

be08db4bcf6d8440bde3e9860444c6eb.png

四.case表达式

-- 查询每门课程的及格人数和不及格人数

运行结果

c61b9f1b07f69e468f2ac4694604bd7b.png
-- 分段统计各科成绩,显示各分段人数,课程号,课程名称

运行结果

8275765cf8b2e1d786c4b970726e2b35.png

五.sqlzoo练习题

469f5560a6c5e616976ce8cfe4b8a7d2.png

97ab094aea557709c65d46b81a4803d9.png

dc64ee7a6bc94766a23f64978cbe8c1e.png

7d603e0ea91ae101538fc682f084ce11.png

6df41a342f8ab0bb9fe95e705ed445d8.png

de95b94b085216b403ddfbb99e90ab13.png

e3ab65db1c9a97d96456149d39132d06.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值