mysql错题集每天一道 sql题目
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql错题集每天一道 sql题目,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1534字,纯文字阅读大概需要3分钟。
内容图文
![mysql错题集每天一道 sql题目](/upload/InfoBanner/zyjiaocheng/916/881cf6baafaf43b6a872ca66b137136d.jpg)
插入多条数据:
INSERT INTO scores (`StuId`, `Course`, `Scores`)
VALUES
(9, '数学', 78),
(9, '语文', 635),
(9, '英语', 69) ;
INSERT INTO classinfo (`ClassId`, `ClassName`)
VALUES
(1, '数学'),
(2, '语文'),
(3, '英语') ;
INSERT INTO stuinfo (`StuId`, `ClassId`, `StuName`)
VALUES
(7, 3,'七'),
(8, 3, '八'),
(9, 3, '九') ;
#目标:查找每个班的最高分:
SELECT
sm.id,
sm.StuName,
sm.ClassId,
sm.ClassName,
sc.`Course`,
MAX(sc.`Scores`)
FROM
(SELECT
st1.`StuId` AS id,
c1.`ClassId`,
c1.`ClassName`,
st1.`StuName`
FROM
classinfo c1,
stuinfo st1
WHERE c1.`ClassId` = st1.`ClassId`
ORDER BY st1.`StuId`) AS sm
LEFT JOIN scores sc
ON sc.`StuId` = sm.`id`
GROUP BY sm.ClassName ;
#目标:查找每个班的最高分:
SELECT
sm.id,
sm.StuName,
sm.ClassId,
sm.ClassName,
sc.`Course`,
MAX(sc.`Scores`)
FROM
(SELECT
st1.`StuId` AS id,
c1.`ClassId`,
c1.`ClassName`,
st1.`StuName`
FROM
classinfo c1 LEFT JOIN
stuinfo st1
ON c1.`ClassId` = st1.`ClassId` ) AS sm
LEFT JOIN scores sc
ON sc.`StuId` = sm.`ID`
GROUP BY sm.ClassId;
SELECT c.StuId,c.ClassId,c.StuName,c.ClassName,d.Course,MAX(d.Scores) -- 3)显示学生信息
FROM
#111111111111111111111
(SELECT a.StuId,a.ClassId,a.StuName,b.ClassName FROM stuinfo a
LEFT JOIN classinfo b -- 1)首先关联学生表a 和班级表b
ON a.ClassId = b.ClassId) c
LEFT JOIN scores d -- 2)学生和班级的关联表c 再与成绩表d关联
ON c.StuId = d.StuId
GROUP BY c.StuId -- 4)根据班级分组
#22222222222222
SELECT A.StuId,A.ClassId,A.StuName,B.ClassName,MAX(C.Scores),C.Course FROM stuinfo A
LEFT JOIN classinfo B ON A.ClassID=B.ClassId
LEFT JOIN scores C ON A.StuId=C.StuId
GROUP BY B.ClassId
内容总结
以上是互联网集市为您收集整理的mysql错题集每天一道 sql题目全部内容,希望文章能够帮你解决mysql错题集每天一道 sql题目所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。