Oracle SQL 练习题目
2017-08-10 16:06
357 查看
主要的三张表如下:
建表语句及数据如下:
题目如下:
1.分别查询学生表和学生修课表中的全部数据。
2.查询成绩在70到80分之间的学生的学号、课程号和成绩。
3.查询1号课程成绩最高的分数。
4.查询学生都选修了哪些课程,要求列出课程号。
5.查询修了2号课程的所有学生的平均成绩、最高成绩和最低成绩。
6.统计每个系的学生人数。
7.统计每门课程的修课人数和考试最高分。
8.统计每个学生的选课门数,并按选课门数的递增顺序显示结果。
9.统计选修课的学生总数和考试的平均成绩.
10.查询选课门数超过2门的学生的平均成绩和选课门数。
11.列出总成绩超过200分的学生,要求列出学号、总成绩。
12.查询选修了2号课程的学生的姓名和所在系。
13.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
14.查询计算机系男生修了”数据库基础”的学生的姓名、性别、成绩
15.查询哪些学生的年龄相同,要求列出年龄相同的学生的姓名和年龄。
16.查询哪些课程没有人选,要求列出课程号和课程名。
17.查询有考试成绩的所有学生的姓名、修课名称及考试成绩 .要求将查询结果放在一张新的永久表(假设新表名为new-sc)中。
18.分别查询信息系和计算机系的学生的姓名、性别、修课名称、修课成绩,
并要求将这两个查询结果合并成一个结果集,
并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。
子查询实现:
1.查询选修了1号课程的学生的姓名和所在系。
2.查询数学系成绩80分以上的学生的学号、姓名。
3.查询计算机系学生所选的课程名。
4.删除修课成绩小于50分的学生的修课记录
5.将所有选修了1课程的学生的成绩加10分。
题目答案链接如下:
http://download.csdn.net/download/m0_37213323/9928022
建表语句及数据如下:
create table student( sno integer , sname VARCHAR(255), Ssex VARCHAR(10), sage Integer , sdet VARCHAR(255) ); create table course( cno integer , cname VARCHAR(255), hours integer ); create table sc( sno integer , cno integer , grade integer ); insert into student values(9512101,'李四','男',19,'计算机系'); insert into student values(9512102,'刘呗','男',20,'计算机系'); insert into student values(9512103,'王搜索','女',20,'计算机系'); insert into student values(9521101,'张热','男',22,'信息系'); insert into student values(9521102,'吴撒','女',21,'信息系'); insert into student values(9521103,'张额外','男',20,'信息系'); insert into student values(9531101,'钱力','女',18,'数学系'); insert into student values(9531102,'王力','男',19,'数学系'); insert into course values(1,'计算机文化学',70); insert into course values(2,'VB',90); insert into course values(3,'计算机网络',80); insert into course values(4,'数据库基础',108); insert into course values(5,'高等数学',180); insert into course values(6,'数据结构',72); insert into sc values(9512101,1,90); insert into sc values(9512101,2,86); insert into sc(sno,cno) values(9512101,6); insert into sc values(9512102,2,78); insert into sc values(9512102,4,66); insert into sc values(9521102,1,82); insert into sc values(9521102,2,75); insert into sc values(9521102,4,92); insert into sc values(9521102,5,50); insert into sc values(9521103,2,68); insert into sc(sno,cno) values(9521103,6); insert into sc values(9531101,1,80); insert into sc values(9531101,5,95); insert into sc values(9531102,5,85);
题目如下:
1.分别查询学生表和学生修课表中的全部数据。
2.查询成绩在70到80分之间的学生的学号、课程号和成绩。
3.查询1号课程成绩最高的分数。
4.查询学生都选修了哪些课程,要求列出课程号。
5.查询修了2号课程的所有学生的平均成绩、最高成绩和最低成绩。
6.统计每个系的学生人数。
7.统计每门课程的修课人数和考试最高分。
8.统计每个学生的选课门数,并按选课门数的递增顺序显示结果。
9.统计选修课的学生总数和考试的平均成绩.
10.查询选课门数超过2门的学生的平均成绩和选课门数。
11.列出总成绩超过200分的学生,要求列出学号、总成绩。
12.查询选修了2号课程的学生的姓名和所在系。
13.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
14.查询计算机系男生修了”数据库基础”的学生的姓名、性别、成绩
15.查询哪些学生的年龄相同,要求列出年龄相同的学生的姓名和年龄。
16.查询哪些课程没有人选,要求列出课程号和课程名。
17.查询有考试成绩的所有学生的姓名、修课名称及考试成绩 .要求将查询结果放在一张新的永久表(假设新表名为new-sc)中。
18.分别查询信息系和计算机系的学生的姓名、性别、修课名称、修课成绩,
并要求将这两个查询结果合并成一个结果集,
并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。
子查询实现:
1.查询选修了1号课程的学生的姓名和所在系。
2.查询数学系成绩80分以上的学生的学号、姓名。
3.查询计算机系学生所选的课程名。
4.删除修课成绩小于50分的学生的修课记录
5.将所有选修了1课程的学生的成绩加10分。
题目答案链接如下:
http://download.csdn.net/download/m0_37213323/9928022
相关文章推荐
- ORACLE SQL练习(七)
- Oracle_SQL练习_07
- oracle 基本操作练习——简单的sql语句
- Oracle:PL/SQL--流程控制——作业练习:向表中循环插入ID编号
- oracle sql 练习1
- oracle简单和复杂的SQL语句练习
- ORACLE语法和SQL练习
- ORACLE PL/SQL练习(一)
- Oracle SQL:经典入门级查询练习(1)
- 一个关于SQL语句的练习题目
- Oracle SQL基础练习(一)(学生表-课程表-选课表)
- 最近练习的一份SQL题目,很经典也有点点水平,给大家瞧瞧
- Oracle SQL语句实操练习!含图表及答案!适合新手~
- oracle查询sql练习技巧(这个很实用,不是吹的)
- oracle pl/sql实例练习
- oracle pl/sql实例练习
- ORACLE PL/SQL练习(三)
- oracle sql基础练习随笔
- Oracle_SQL练习_08
- ORACLE PL/SQL练习(四)