课程设计(一)
字段类型 Varchar2(16) Varchar2(16) Varchar2(6) DATE 字段含义 学号(主键) 姓名 性别 出生日期
学校的教务数据库设计如下: 学生表1 T_STUDENT 字段名称 STUNO STUNAME STUSEX STUBIR
课程信息表2 T_COURSE 字段名称 COURSENO COURSENAME TEANO
教师信息表 3 T_TEACHER 字段名称 TEANO TEANAME TEATITLE 考试成绩表 4 T_SCORE 字段名称 STUNO COURSENO TYPE SCORE T_STUDENT STUNO S001 S002 S003 S004 ….
STUNAME 郭莉芳 郑义 何月 王群 STUSEX 女 男 女 男 STUBIR 1987.2 1988.2 1989.3 1990.7 字段类型 Varchar2(16) Varchar2(16) Varchar2(6) FLOAT 字段含义 学号 课程编号(外键) 考试类型(期中/期末) 分数 字段类型 Varchar2(16) Varchar2(16) Varchar2(16) 字段含义 教师编号(主键) 课程姓名 教师职称 字段类型 Varchar2(16) Varchar2(16) Varchar2(16) 字段含义 课程号(主键) 课程名称 教师编号(外键)
T_COURSE COURSENO C001 C002 C003 C004 C005 …… T_ TEACHER TEANO T001 T002 T009 T003 T006 …… T_SCORE STUNO S001 S001 S001 S001 …. COURSENO C001 C001 C002 C002 TYPE 期中 期末 期中 期末 SCORE 98 78 68 79 COURSENAME 梁天 王一 卢洪 张楠 赵军 TEANO 教授 副教授 讲师 副教授 教授 TEANAME DB VC++ VB 操作系统 JAVA TEATITLE T001 T002 T009 T003 T006 创建教务数据库,创建用户,完成以下作业: 1) 创建以上几张表,并给表中输入数据; CREATE TABLE T_STUDENT(--学生表一 STUNO VARCHAR2(16) PRIMARY KEY, STUNAME VARCHAR2(16),
STUSEX VARCHAR2(6) CHECK(STUSEX IN('男','女')), STUBIR DATE)
CREATE TABLE T_COURSE(--课程信息表2 COURSENO VARCHAR2(16) PRIMARY KEY, COURSENAME VARCHAR2(16), TEANO VARCHAR2(16) NOT NULL,
FOREIGN KEY(TEANO)REFERENCES T_TEACHER(TEANO))
CREATE TABLE T_TEACHER(--教师信息表3 TEANO VARCHAR2(16) PRIMARY KEY,
TEANAME VARCHAR2(16), TEATITLE VARCHAR2(16))
CREATE TABLE T_SCORE(--考试成绩表4 STUNO VARCHAR2(16),
COURSENO VARCHAR2(16) NOT NULL,
TYPE VARCHAR2(6) NOT NULL CHECK(TYPE IN('期中','期末')), SCORE FLOAT,
PRIMARY KEY(STUNO,COURSENO,TYPE),
FOREIGN KEY(COURSENO) REFERENCES T_COURSE(COURSENO), FOREIGN KEY(STUNO) REFERENCES T_STUDENT(STUNO))
2) 查询T_STUDENT中所有的数据; SELECT * FROM T_STUDENT
3) 查询T_STUDENT中所有学生的姓名和性别; SELECT STUNAME,STUNO FROM T_STUDENT
4) 将学号和姓名显示,其中,姓名的格式为:“姓名:xxx”;// SELECT '姓名'XXX,STUNAME,STUNO FROM T_STUDENT
5) 为了更好地体现各个学生的考试情况,将T_SCORE中的信息显示,分数显示为与60
分的差;
SELECT STUNO,COURSENO,TYPE,SCORE-60 FROM T_SCORE
6) 将T_SCORE中的信息显示,分数显示为与60分的差值,列名为“差值”,如果第一
条记录分数为空,会得出来什么结果。
SELECT STUNO,COURSENO,TYPE,SCORE-60 AS\差值\ FROM T_SCORE
(注意:空值具有特殊性,包括空值的任何算术表达式都等于空) 7) 将学号和姓名显示,其中,列名分别显示为“学生”和姓名; SELECT STUNO AS\学生\姓名\FROM T_STUDENT
8) 将学号和姓名显示在一个列中,列名显示为:信息; SELECT CONCAT(STUNO,STUNAME) AS \信息\ FROM T_STUDENT
9) 查询教师的职称种类; SELECT TITLE
FROM T_TEACHER 10) 查询女生的姓名; SELECT STUNAME FROM T_STUDENT WHERE STUSEX='女' 11) 查询课程VB的信息; SELECT *
FROM T_COURSE
WHERE COURSENAME='VB' 12) 显示所有期中考试及格的记录; SELECT *
FROM T_SCORE
WHERE TYPE='期中' AND SCORE-60>0 13) 为了找出考试尖子,需要显示所有期末考试在90-100的考试记录(使用<,> between
and); SELECT *
FROM T_SCORE
WHERE TYPE='期末' AND SCORE BETWEEN '90' AND '100'
14) 学校要举行一帮一活动,让高分学生帮助低分学生。查询90分以上的期末考试记
录,以及不及格的期末考试记录; SELECT *
FROM T_SCORE
WHERE TYPE='期末' AND SCORE NOT BETWEEN '60'AND'90'
15) 利用BETWEEN谓词显示所有期末考试在65-80的考试记录; SELECT *
FROM T_SCORE
WHERE TYPE='期末' AND SCORE BETWEEN '65'AND'80 16) 使用IN谓词,显示分数是60,70,80的考试记录; SELECT *
FROM T_SCORE
WHERE SCORE IN('60','70','80') 17) 查询姓李的学生资料; SELECT *
FROM T_STUDENT
WHERE STUNAME LIKE'李%' 18) 查询姓“王”,名字为一个字的学生,并将这类学生的详细信息显示出来; SELECT *
FROM T_STUDENT
WHERE STUNAME LIKE'王%_' 19) 查询性别为空的学生资料; SELECT *
FROM T_STUDENT
WHERE STUSEX=NULL 20) 用升序显示学生S001的所有期末考试成绩; SELECT SCORE FROM T_SCORE
WHERE STUNO='S001' AND TYPE='期末' ORDER BY SCORE ASC 21) 用降序显示课程C001的所有期末考试成绩,对于相等的成绩,则按学生编号升序
显示;
SELECT SCORE FROM T_SCORE
WHERE COURSENO='C001' AND TYPE='期末' ORDER BY SCORE DESC,STUNO DESC 22) 查询姓名为“郭莉芳”的考试成绩; SELECT SCORE FROM T_SCORE WHERE STUNO IN
(SELECT STUNO FROM T_STUDENT WHERE STUNAME='郭莉芳' ) 23) 显示各个教师及其讲授课程的详细情况;
SELECT T_TEACHER.TEANAME,T_COURSE.COURSENAME FROM T_TEACHER,T_COURSE
WHERE T_TEACHER.TEANO=T_COURSE.TEANO
24) 查询名为“梁天”的教师没有上过的课程; SELECT T_COURSE.COURSENAME FROM T_TEACHER,T_COURSE
WHERE T_TEACHER.TEANO=T_COURSE.TEANO AND T_TEACHER.TEANAME!='梁天'
25) 课程“大学物理”,有哪些学生选过?请列出这些学生的姓名; SELECT T_STUDENT.STUNAME
FROM T_STUDENT,T_COURSE,T_SCORE
WHERE T_STUDENT.STUNO=T_SCORE.STUNO AND T_SCORE.COURSENO=T_COURSE.COURSENO AND T_COURSE.COURSENAME='大学物理' 26) 查询学号为”S002”的学生,参加课程“C001”考试的成绩,显示格式为:
期中成绩 期末成绩 总评成绩;
其中,总评成绩=期中成绩*0.4+期末成绩*0.6
SELECT FIRST.SCORE AS\期中成绩\AS\期末成绩\,(FIRST.SCORE*0.4+SECOND.SCORE*0.6) AS\总评成绩\
FROM T_SCORE FIRST,T_SCORE SECOND WHERE FIRST.STUNO=SECOND.STUNO AND FIRST.STUNO='S001'
AND FIRST.COURSENO='C001' AND SECOND.COURSENO='C001' AND FIRST.TYPE='期中' AND SECOND.TYPE='期末'
27) 查询课程“大学物理”是哪一位老师教的,列出其姓名; SELECT T_TEACHER.TEANAME FROM T_TEACHER,T_COURSE
WHERE T_TEACHER.TEANO=T_COURSE.TEANO AND T_COURSE.COURSENAME='大学物理'
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库广东医学院数据库课程设计一在线全文阅读。
相关推荐: