【数据库 Mysql查询】10-25 查询所有学生的平均成绩 (10 分)
本题目要求编写SQL语句,在stu表和sc表中查询所有学生的平均成绩,如果某学生尚未选修课程或成绩为空时,平均分计为0。请在这里写定义表结构的SQL语句。例如:CREATE TABLE `stu` (`sno` char(4) NOT NULL,`sname` char(8) NOT NULL,`sex` tinyint(1) DEFAULT NULL,`mno` char(2) DEFAULT
本题目要求编写SQL语句,
在stu表
和 sc表
中查询所有学生的平均成绩,如果某学生尚未选修课程或成绩为空时,平均分计为0。
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE `stu` (
`sno` char(4) NOT NULL,
`sname` char(8) NOT NULL,
`sex` tinyint(1) DEFAULT NULL,
`mno` char(2) DEFAULT NULL,
`birdate` datetime DEFAULT NULL,
`memo` text,
PRIMARY KEY (`sno`)
);
CREATE TABLE `sc` (
`sno` char(4) NOT NULL,
`cno` char(4) NOT NULL,
`grade` decimal(6,1) DEFAULT NULL,
PRIMARY KEY (`sno`,`cno`),
CONSTRAINT `fk_sc_sno` FOREIGN KEY (`sno`) REFERENCES `stu` (`sno`)
);
表样例
请在这里给出上述表结构对应的表样例。例如
输出样例:
请在这里给出输出样例。例如:
代码如下:
select stu.sno 学号,ifnull(avg(grade),0) 平均成绩
from stu left join sc on stu.sno = sc.sno
group by stu.sno
更多推荐
所有评论(0)