✔1.node.js初体验windows ✔2.commonjs-回顾ES6模块化 ✔3.commonjs的语法介绍 ✔4.commonjs和ES6 Module的区别 ✔5.Bug分类 ✔6.node.js和前端js的区别 ✔7.左关联 ✔8.聚合函数 ✔9.【案例】统计上班时间 ✔10.数据库的索引 ✔11.索引的分类 ✔12.查询数学成绩比语文成绩高的学生 ✔13.查询平均成绩大于80分的学生 ✔14.学生总成绩排序 ✔15.学过体育课学生的年龄 |
|
编程目标:学过体育课学生的年龄
编程思路:
日期之间的计算,用什么样的函数?
怎么证明这个人学过体育课?课程表中看让它等于体育,
怎么获取课程表中同学的年龄?涉及到同学,获取同学的姓名。
grade_id,我们要跟年级表做关联,年级跟班级表关联,班级跟学生表关联。
然后我们就获取到了具体学生学的体育课的成绩的信息,比如年龄。
select s.student_name
from course c
join grade g
on c.grade_id = g.id
join class cl
on cl.grade_id = g.id
join student s
on s.class_id = cl.id
where c.course_name = "体育"
获取体育课的学生。
怎么计算年龄?
拿现在的时间 减去 出生日期 即可。
有些东西没用过,再想也想不出来。
完整代码如下:
select s.student_name,
datediff(curdate(),s.student_birthday) / 365
from course c
join grade g on c.grade_id = g.id
join class cl on cl.grade_id = g.id
join student s on s.class_id = cl.id
where c.course_name = "体育"
datediff(curdate(),s.student_birthday)
天换成年 除以 365: