博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mySQL练习题
阅读量:6997 次
发布时间:2019-06-27

本文共 1540 字,大约阅读时间需要 5 分钟。

  hot3.png

最开始命名错了,试着RENAME但失败了,看官方manual似乎5.6 ver. MySQL已经去掉了这个功能。

好吧直接drop再新建……接着是练习:


1)查询班级信息以及每个班级里年龄最大的学生姓名和年龄 

SELECT  class.class_id,	class.class_name,	tb_student.`name`,	tb_student.ageFROM            tb_class AS classLEFT JOIN tb_student ON class.class_id = tb_student.class_idGROUP BY	tb_student.class_id;HAVING	MAX(tb_student.age)

2)查询班级信息以及每个班级里男生人数,女生人数,总人数

SELECTclass_id, class_name,(SELECT COUNT(*) FROM tb_student WHERE sex=1 AND class.class_id=tb_student.class_id)AS female,(SELECT COUNT(*) FROM tb_student WHERE sex=2 AND class.class_id=tb_student.class_id)AS maleFROMtb_class AS class;

3)查询班级信息以及每个班级里成绩最高的学生姓名,总成绩

SELECT    class.class_id,class.class_name,info.`name`,info.sumscoreFROM    tb_class classLEFT JOIN(    SELECT    stu.`name`,stu.class_id id,    (SELECT SUM(score.score) FROM tb_score score WHERE stu.stu_id=score.stu_id ) sumscore    FROM tb_student stu    GROUP BY stu.class_id    HAVING MAX(sumscore))info ON info.id = class.class_id;

4)查询学生信息以及每个学生每个课程的成绩

SELECTstu.`name`,(SELECT score.score FROM tb_score score WHERE score.course_id=1 AND score.stu_id=stu.stu_id) php,(SELECT score.score FROM tb_score score WHERE score.course_id=2 AND score.stu_id=stu.stu_id) mysqlFROMtb_student stu;

有种回到学校做practice的感觉……其实各种条件的设置感觉实现就分两种,一种是直接SELECT下在分子区域SELECT,但是一个SELECT只能包含one column,所以当需要retrieve更多column时需要用LEFT JOIN

到3)就总也做不出来,要查找成绩最高,之前还要SUM一次,有点不知该如何下手,但是逻辑上肯定是SUM先行,所以是SELECT SUM(sco.score)用WHERE限定一下stu.id加出学生的总成绩,然后GROUP BY class.id 把学生按班分组最后用HAVING MAX() ,然后就retrieve出来了!

转载于:https://my.oschina.net/sikou/blog/545584

你可能感兴趣的文章
分类算法之决策树(理论篇)
查看>>
LeanCloud + Ionic3 迅速重构应用
查看>>
vue-cli解析
查看>>
python进行毫秒级计时时遇到的一个精度问题
查看>>
tweak
查看>>
Innodb索引以及查询优化的一些见解
查看>>
SSM学习系列(三) Hello Spring MVC
查看>>
教你如何直接访问php实例对象的private属性
查看>>
sass的基本使用
查看>>
chrome扩展推荐:帮你留住每一次ctrl+c --- Clipboard History 2
查看>>
恶意软件盯上了加密货币,两家以色列公司受到攻击
查看>>
专访《Haskell函数式编程入门》作者张淞:浅谈Haskell的优点与启发
查看>>
VS2017 15.4提供预览版,面向Windows 10秋季更新(FCU)
查看>>
Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布
查看>>
如何自动搞定全站图片的alt属性?
查看>>
配置一次,到处运行:将配置与运行时解耦
查看>>
突发热点事件下微博高可用注册中心vintage的设计\u0026实践
查看>>
Elixir 1.3带来新的语言功能、API和改进后的工具
查看>>
用Elm语言降低失败的风险
查看>>
抓住热门话题一对一直播,如何在风浪四起的直播市场劈风斩浪? ...
查看>>