ORACLE(系统表student) 基本与深入学习

(一)、首先我们先创建student表(系统有的可以跳过往下看)没有直接复制运行即可。


create table student
(
sno varchar2(3) not null, --学号
sname varchar2(20) not null,--学生姓名
ssex varchar2(10) not null, --性别
sbirthday date, --生日
class varchar2(5) --所在班级编号
tno

);
---------课程表
create table t_course
(
cno varchar2(5) not null,--课程编号
cname varchar2(50) not null, --课程名
tno varchar2(10) not null --授课老师编号
);
---------------分数
create table t_score
(
sno varchar2(3) not null, ---学号
cno varchar2(5) not null, ---课程号
degree number(10, 1) not null --分数
);
---老师表
create table t_teacher
(
tno varchar2(3) not null, --老师编号
tname varchar2(20) not null, --老师姓名
tsex varchar2(10) not null, --老师性别
tbirthday date not null, --生日
prof varchar2(20), --职称
depart varchar2(20) not null --部门
);

create table t_grade(
low number(3,0),--低分
upp number(3),--高分
rank char(1)--评级
);

insert into student (sno,sname,ssex,sbirthday,class) values (108 ,'曾华'
,'男' ,to_date('1977-09-01','yyyy-mm-dd'),95033);
insert into student (sno,sname,ssex,sbirthday,class) values (105 ,'匡明'
,'男' ,to_date('1975-10-02','yyyy-mm-dd'),95031);
insert into student (sno,sname,ssex,sbirthday,class) values (107 ,'王丽'
,'女' ,to_date('1976-01-23','yyyy-mm-dd'),95033);
insert into student (sno,sname,ssex,sbirthday,class) values (101 ,'李军'
,'男' ,to_date('1976-02-20','yyyy-mm-dd'),95033);
insert into student (sno,sname,ssex,sbirthday,class) values (109 ,'王芳'
,'女' ,to_date('1975-02-10','yyyy-mm-dd'),95031);
insert into student (sno,sname,ssex,sbirthday,class) values (103 ,'陆君'
,'男' ,to_date('1974-06-03','yyyy-mm-dd'),95031);

insert into t_course(cno,cname,tno)values ('3-105' ,'计算机导论',825);
insert into t_course(cno,cname,tno)values ('3-245' ,'操作系统' ,804);
insert into t_course(cno,cname,tno)values ('6-166' ,'数据电路' ,856);
insert into t_course(cno,cname,tno)values ('9-888' ,'高等数学' ,100);

insert into t_score(sno,cno,degree)values (103,'3-245',86);
insert into t_score(sno,cno,degree)values (105,'3-245',75);
insert into t_score(sno,cno,degree)values (109,'3-245',68);
insert into t_score(sno,cno,degree)values (103,'3-105',92);
insert into t_score(sno,cno,degree)values (105,'3-105',88);
insert into t_score(sno,cno,degree)values (109,'3-105',76);
insert into t_score(sno,cno,degree)values (101,'3-105',64);
insert into t_score(sno,cno,degree)values (107,'3-105',91);
insert into t_score(sno,cno,degree)values (108,'3-105',78);
insert into t_score(sno,cno,degree)values (101,'6-166',85);
insert into t_score(sno,cno,degree)values (107,'6-106',79);
insert into t_score(sno,cno,degree)values (108,'6-166',81);

insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
values (804,'李诚','男',to_date('1958-12-02','yyyy-mm-dd'),'副教授','计算机系');
insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
values (856,'张旭','男',to_date('1969-03-12','yyyy-mm-dd'),'讲师','电子工程系');
insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
values (825,'王萍','女',to_date('1972-05-05','yyyy-mm-dd'),'助教','计算机系');
insert into t_teacher(tno,tname,tsex,tbirthday,prof,depart)
values (831,'刘冰','女',to_date('1977-08-14','yyyy-mm-dd'),'助教','电子工程系');


insert into t_grade values(90,100,'a');
insert into t_grade values(80,89,'b');
insert into t_grade values(70,79,'c');
insert into t_grade values(60,69,'d');
insert into t_grade values(0,59,'e');
commit;


(二)题目学习与实践。(答案小编会在近期更新)

1、 查询student表中的所有记录的sname、ssex和class列。
2、 查询教师所有的单位即不重复的depart列。
3、 查询student表的所有记录。
4、 查询score表中成绩在60到80之间的所有记录。
5、 查询score表中成绩为85,86或88的记录。
6、 查询student表中“95031”班或性别为“女”的同学记录。
7、 以class降序查询student表的所有记录。
8、 以cno升序、degree降序查询score表的所有记录。
9、 查询“95031”班的学生人数。
10、查询score表中的最高分的学生学号和课程号。
11、查询‘3-105’号课程的平均分。
12、查询score表中至少有5名学生选修的并以3开头的课程的平均分数。
13、查询最低分大于70,最高分小于90的sno列。

14、查询所有学生的sname、cno和degree列。
15、查询所有学生的sno、cname和degree列。
16、查询所有学生的sname、cname和degree列。
17、查询“95033”班所选课程的平均分。

18、查询所有同学的sno、cno和rank列。
19、查询选修“3-105”课程的成绩高于“109”号同学课程最高成绩的所有同学的记录。
20、查询score中选学一门以上课程的同学中分数为非最高分成绩的记录。

21、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。
22、查询和学号为108的同学同年出生的所有学生的sno、sname和sbirthday列。
23、查询“张旭“教师任课的学生成绩。
24、查询选修某课程的同学人数多于5人的教师姓名。
25、查询95033班和95031班全体学生的记录。
26、查询存在有85分以上成绩的课程cno.
27、查询出“计算机系“教师所教课程的成绩表。
28、查询“计算机系”与“电子工程系“不同职称的教师的tname和prof。
29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的cno、sno和degree,并按degree从高到低次序排序。
30、查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的cno、sno和degree.
31、查询所有教师和同学的name、sex和birthday.
32、查询所有“女”教师和“女”同学的name、sex和birthday.
33、查询成绩比该课程平均成绩低的同学的成绩表。
34、查询所有任课教师的tname和depart.
35、查询所有未讲课的教师的tname和depart.
36、查询至少有2名男生的班号。
37、查询student表中不姓“王”的同学记录。
38、查询student表中每个学生的姓名和年龄。
39、查询student表中最大和最小的sbirthday日期值。
40、以班号和年龄从大到小的顺序查询student表中的全部记录。
41、查询“男”教师及其所上的课程。
42、查询最高分同学的sno、cno和degree列。
43、查询和“李军”同性别的所有同学的sname.
44、查询和“李军”同性别并同班的同学sname.
45、查询所有选修“计算机导论”课程的“男”同学的成绩表
46、查询出选修课程号为3-245和6-166的课程的学生学号与姓名
47、查询出没有选修课程号为3-245和6-166的课程的学生学号与姓名

 

欢迎关注小编的公众号,更多学习视频、模板、工具(wind激活工具)!!!

posted @ 2019-05-28 10:08  语下,々言心  阅读(481)  评论(0编辑  收藏  举报