创建表格
CREATE TABLE `student` (
`sid` varchar(10) NOT NULL,
`sName` varchar(20) DEFAULT NULL,
`sAge` datetime DEFAULT '1980-10-12 23:12:36',
`sSex` varchar(10) DEFAULT NULL,
PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `sc` (
`sid` varchar(10) DEFAULT NULL,
`cid` varchar(10) DEFAULT NULL,
`score` int(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `course` (
`cid` varchar(10) NOT NULL,
`cName` varchar(10) DEFAULT NULL,
`tid` int(20) DEFAULT NULL,
PRIMARY KEY (`cid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
学生表
成绩表
课程表
练习:
1.查询“001”课程比“002”课程成绩高的所有学生的学号;
2.查询平均成绩大于60分的同学的学号和平均成绩;
3.查询所有同学的学号、姓名、选课数、总成绩;
答案
#查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.sid from (select * from sc where cid="001") a join
(select * from sc where cid="002") b on a.sid=b.sid where a.score>b.score group by a.sid
#查询平均成绩大于60分的同学的学号和平均成绩;
select sid ,AVG(score) from sc GROUP BY sid having avg(score)>60
#查询所有同学的学号、姓名、选课数、总成绩;
select s.sName,s.sid,count(sc.cid),sum(sc.score) from student s join sc on sc.sid=s.sid group by sc.sid
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_55740233/article/details/121840327
内容来源于网络,如有侵权,请联系作者删除!