ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

数据库练习题

2021-05-27 11:04:22  阅读:530  来源: 互联网

标签:练习题 gradeid 数据库 查询 score where select subject


数据库练习题:

数据表:
 年级表(grade):年级 id(主键)-gradeid,年级名称-gname


 成绩表(score):id(主键)-scoreid,学员编号-stuno,科目 id-subjectid,分数-score,考试时间-examtime


 学生表(student):学生编号(主键)-stuid,学生姓名-stuname,登录密码-password,性别-sex,年级 id-gid,电话-telphone,地址-address,出生日
期-birthday,邮箱-email


 科目表(subject):科目 id(主键)-subjectid,科目名称-subjectname,课时-studycount,年级 id-gradeid

 

 

1. grade 表增加一个阶段,“就业期”    
insert into grade(gradeid,gname)values(1,'就业期');
2.在学生表中将第三阶段的学生的 gradeid 改为就业期的 id
update student set gid=(select gradeid from grade where gname='就业期')
where gid=(select gardeid from grade where gname='第三阶段');
3.查询所有得了 100 分的学号
select stuno from score where score=100;
4.查询所有 1989 年出生的学生(1989-1-1~1990-1-1)
select * from student where birthday between '1989-1-1' and '1989-12-31';
5.查询学生姓名为“金蝶”的全部信息
selcet * from student where stuname='金蝶';
#多表连接查询
selcet *from student s,grade g,score c,subject j
where
s.gid=g.gradeid  and   c.stuno=s.stuid  and  j.gradeid=g.gradeid
and stuname='金蝶';
6.查询 subject id 为 8 的科目考试未及格(60 分)的学号和成绩
select stuno,score from score where subjectid=8 and score<60;
7.查询第 3 阶段课时大于 50 的课程全部信息
select * from subject where gradeid=(selcet gradeid from grade where gname='第三阶段') and studycount>50; 
8.查询 S1101001 学生的考试信息
select * from score where stuno='S1101001';
9.查询所有第二阶段的女生信息
select * from student where sex='女' and gid=(selcet gradeid from grade where gname='第二阶段');
10.“基于.NET 平台的软件系统分层开发”需要多少课时
select studycount from subject where subjectname='基于.NET 平台的软件系统分层开发';
11.查询“设计 MySchool 数据库”和“面向对象程序设计”的课时(使用 in)
select studycount from subject where subjectname in('设计 MySchool 数据库','面向对象程序设计');
12 查询所有地址在山东的学生信息
select * from studnet where address like '%山东%';
13 查询所有姓凌的单名同学
select * from student where stuname like '凌_';
14.查询 gradeid 为 1 的学生信息,按出生日期升序排序
select * from student where stuname=1 order by birthday;
15.查询 subject id 为 3 的考试的成绩信息,用降序排序
select *from score where subject=3 order by score desc;
16.查询 gradeid 为 2 的课程中课时最多的课程信息
select * from  subject where gradeid=2 order by studentcount desc limit 0,1;
17.查询北京的学生有多少个
select count(*) from studnt where address like '%北京%';
18.查询有多少个科目学时小于 50
select count(*) from subject where studycount<50;
19.查询 gradeid 为 2 的阶段总课时是多少
select sum(studycount) frrom subject where gradeid=2;
20.查询 subjectid 为 8 的课程学生平均分
select avg(score) from score where subject=8;
21.查询 gradeid 为 3 的课程中最多的学时和最少的学时
select  max(studycount),min(studycount) from subject  where gardeid=3;
22.查询每个科目有多少人次考试
select subjectid,count(*) from score 
group by subjectid;
#多表关联查询
select subjectname,count(*) form score,subject where score.subjectid=subject.subjectid
group by subjectname;
23.每个阶段课程的平均课时
select gardeid,avg(studycount) from subject
group by gradeid ;
#年级名称和学时的关联关系
select gname,avg(studycount) from subject,garde where subject.gradeid=garde.gardeid
group by gname;
24.查询每个阶段的男生和女生个数(group by 两列)
#sclect sex,count(*) from studnet where sex='男';
select gid,sex,count(*) from student 
group by gid,sex;
 

标签:练习题,gradeid,数据库,查询,score,where,select,subject
来源: https://blog.csdn.net/weixin_44722237/article/details/117322789

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有