广东医学院数据库课程设计一资料

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计(一)学校的教务数据库设计如下:

教师信息表3 T_TEACHER

考试成绩表4 T_SCORE

创建教务数据库,创建用户,完成以下作业:

1)创建以上几张表,并给表中输入数据;

CREATE TABLE T_STUDENT(--学生表一

STUNO V ARCHAR2(16) PRIMARY KEY,

STUNAME V ARCHAR2(16),

STUSEX V ARCHAR2(6) CHECK(STUSEX IN('男','女')), STUBIR DATE)

CREATE TABLE T_COURSE(--课程信息表2

COURSENO V ARCHAR2(16) PRIMARY KEY, COURSENAME V ARCHAR2(16),

TEANO V ARCHAR2(16) NOT NULL,

FOREIGN KEY(TEANO)REFERENCES T_TEACHER(TEANO))

CREATE TABLE T_TEACHER(--教师信息表3

TEANO V ARCHAR2(16) PRIMARY KEY,

TEANAME V ARCHAR2(16),

TEATITLE VARCHAR2(16))

CREATE TABLE T_SCORE(--考试成绩表4

STUNO V ARCHAR2(16),

COURSENO V ARCHAR2(16) NOT NULL,

TYPE V ARCHAR2(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"学生",STUNAME 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的所有期末考试成绩,对于相等的成绩,则按学生编号升序

相关文档
最新文档