数据库的练习及答案

上传人:ni****g 文档编号:500114712 上传时间:2023-07-24 格式:DOCX 页数:34 大小:39.47KB
返回 下载 相关 举报
数据库的练习及答案_第1页
第1页 / 共34页
数据库的练习及答案_第2页
第2页 / 共34页
数据库的练习及答案_第3页
第3页 / 共34页
数据库的练习及答案_第4页
第4页 / 共34页
数据库的练习及答案_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《数据库的练习及答案》由会员分享,可在线阅读,更多相关《数据库的练习及答案(34页珍藏版)》请在金锄头文库上搜索。

1、数据库的练习及答案一. 创建一个学生档案表(表名为xsda),其表结构如下:Create Table xsda (xh Char (10) not null unique , xm Char(8) , csny Datetime , gzDecimal(6, 1), zyChar (10)1. 在xsda表中插入一个学生记录:(2000jsj008,李平) into xsda(xh, xm) values( 2000jsj008,李平)2.把 xsda 表 中80-01-01前出生的人的工资增加20% Upda te xsda set gz=gz*1.2 where csny<;80-01

2、-013.查询 xsda 表中不同专业的人数Select zy , count(xh) from xsda group by zy4.假如另外还有一个学生成绩表xscj(xh,kch,kccj), xh, kch,kccj分别指学号、课程号、成绩,要求查询姓名为李平的同学的各门课程的成绩。Select kch, kccj from xsda, xscj where xsda.xh二xscj.xh and xm=李平5. xsda、xscj表同上,查询选修了 kch为Yy2 的学生的xh和XmSelect xh, xm from xsda,xscj where xsda.xh=xscj.xh a

3、nd kch= Yy2二、使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO, DEPARTNO, CLASSNAME;类型均为字符型;长度分别为8、2、20 且均不允许为空。CREATE _tableCLASS(CLASSNO _char(8) NOT NULL DEPARTNO CHAR (2)NOT NULL,CLASSNAME CHAR (_20_) NOT NULL )三、有一个学生课程数据库,数据库中包括三个表: 学生表:Student由学号(Sno)、姓名(Sname)、性别(Ssex)、 年龄(Sage)、所在系(Sdep t)五个属性组成,记为:Stu den

4、t(Sno, Sname, Ssex, Sage, Sdept), Sno 为关键字。课程表:Course由课程号(Cno)、课程名(Cname)、先修课号 (Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname, Cpno, Ccredit) Cno 为关键字。成绩表:SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个 属性组成,记为:SG(Sno,Cno,Grade) (SNO, CNO)为关键字。用SQL语言实现下列功能:1建立学生表Student,其中学号属性不能为空,并且其 值是唯一的。2查考试成绩有不及格的学生的学号。3将学号为0500

5、1学生的年龄改为22岁。4计算1号课 程的学生平均成绩。5.查计算机系姓赵的男同学的姓名(Sname)、性别(Ssex)、 年龄(Sage)。6将一个新学生记录(学号:05020;姓名:丁莉;性别:女;年龄:17岁;所在系:计算机;)插入Student表中。1.create table student(Sno 5) primary key, Sname 20), Ssex 2), Sage int,Sdept 15)2.select distinct sno from sgwhere grade <; 60 3.student set sage=22where sno=';05001

6、'; 4.select avg(grade) from sg where eno二';1'; 5.select sname, ssex, sage from sdudentwhere sdept=计算机系and sname like ';赵 %';and ssex =';女';6.into studentvalues (';05020';,'; 丁莉'; ,';女'; ,17,';计算机系';)四、有一个学生课程数据库,数据库中包括三个表: 学生表Student由学号(Sno)、姓名(Sname)、性别(

7、Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname, Ssex, Sage, Sdept) , Sno 为关键字。课程表Course由课程号(Cno)、课程名(Cname)、先修课号 (Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno, Cname, Cpno, Ccredit) Cno 为关键字。成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属 性组成,记为:SG(Sno, Cno, Grade) (SNO, CNO)为关键字。用SQL语言实现下列功能:1建立学生表Student,其中学号属

8、性不能为空,并且其 值是唯一的。2向Stu dent表增加“入学时间(Scome)”列,其数 据类型为日期型。3查询选修了 3号课程的学生的学号及其成绩,查询结果 按分数的降序排列。4查询学习1号课程的学生最髙分数、平均成 绩。5.查询与“李洋”在同一个系学习的学生。6.将计算机系全 体学生的成绩置零。7删除学号为05019的学生记录。8删除计算机系所有学生的成绩记录。1.CREATETABLE Student(Sno CHAR(5) NOT NULL UNIQUE Sname CHAR(20), SsexCHAR(2), Sage INT,Sdept CHAR(15) 2.ALTER TAB

9、LE Student ADD Scome DATETIME 3SELECT Sno, Grade FROM SGWHERE Cno=';3';ORDER BY Grade DESC4SELECT MAX(Grade), AVG(Grade) FROM SCWHERE Cno=';1';5.SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname二';李洋';)6.UPDATE SG SET Grade=0 WHERE Sno in(S

10、ELECT Sno FROM Stu dent WHERE Sdept = & #39;计算机 系& #39;) 7.DELETE FROM Student WHERE Sno=';05019';8.DELETE FROM SG WHERE Sno in(SELECT Sno FROM Stu dent WHERE Sdept = & #39;计算机 系& #39;)五、有一个学生课程数据库,数据库中包括三个表: 学生表由学号、姓名、性别、年龄、所在系五个属性组成, 可记为:学生表(学号,姓名,性别,年龄,所在系)学号 为关键字。课程表由课程号、课程名、先修课号、学分四个属性组 成

11、,可记为:课程表(课程号,课程名,先修课号,学分)课程 表为关键字。学生选课表由学号、课程号、成绩三个属性组成,可记为:成绩表(学号,课程号,成绩)(学号、课程号) 为关键字。编写用SQL语言实现下列功能的sql语句代码:1、建立一个学生表,其中学号属性不能为空,并且其值 是唯一的。2、查询全体学生的详细记录。3、查询年龄在20至23岁之间的学生的姓名、系别、和年 龄。4、计算1号课程的学生平均成绩。5、将计算机科学系全体学生的成绩置零。1、建立一个学生表。CREATE TABLE 学生表(学号 CHAR(5) NOT NULL UNIQUE, 姓名 CHAR(20), 性别 CHAR(2),

12、年龄 INT,所在系CHAR(15) 2、查询全体学生的详细记录SELECT * FROM学生表3、查询年龄在20至23岁之间的学生的姓名、系别、和年 龄SELECT姓名, 所在系, 年龄FROM学生表WHERE年龄BETWEEN 20 AND 23 4计算1号课程的学生平 均成绩SELECT AVG(成绩)FROM成绩表WHERE 课程号二'1 ';5、将计算机科学系全体学生的成绩置零 UPDATE成绩表SET成绩=0 WHERE学号in(SELECT学号FROM学生表WHERE Sdept =';计算机科学系';)现有关系数据库 如下:数据库名:学生成绩数据库学生

13、表(班级编号,学号,姓名,性别,民族,身份证号, 出生日期)课程表(课程号,课程名,开课学期,学时)成绩表(ID, 学号,课程号,分数)用SQL语言实现下列功能的sql语句代码:1查询学生信息表中的年龄(重复年龄只显示一次)2从学生信息表和教学成绩表中查询查询学生的学号、姓 名、课程名和分数3从课程表中统计第二学期的总学时。执行结 果为:课程好课程名 开课学期学时sum4. 编写一个存储过程,输入学号,从“教学成绩表视图”显 示该学生的姓名、课程名、分数。5创建一个触发器,当修改学生表中的姓名时,显示“学 生姓名已被修改”。1查询学生信息表中的年龄(重复年龄只显示一次)use教学成绩管理数据库

14、select distinct 年龄二datediff(year, 出生 日期, get da te() from学生信息表2从学生信息表和教学成绩表中查询查询学生的学号、姓 名、课程名和分数use学生成绩数据库select成绩表.学号,姓名,课程名,分数from教学成绩 表,学生信息表where成绩表.学号二学生表.学号AND成绩表.课程号二课 程表.课程号3.从课程表中统计第二学期的总学时。Select课程号,课程名,开课学期,学时From课程表Where 开课学期=2 compute avg(学时)4.编写一个存储过程,输入学号,从“教学成绩表视图”显 示该学生的姓名、课程名、分数。CR

15、EATE PROCEDURE 成绩 1 xh char (6) as select 姓名, 课程名称,分数from教学成绩表视图where学号=xh5创建一个触发器,当修改学生表中的姓名时,显示“学 生姓名已被修改”。Create Trigger 触发器 7 On 学生表 For updata AsPrint “学生姓名已被修改” Go现有关系数据库如下:数据库名:学生成绩数据库学生表(班级编号,学号,姓名,性别,民族,身份证号, 出生日期)课程表(课程号,课程名)成绩表(ID,学号,课号,分数)用SQL语言实现下列功能的sql语句代码:1在学生成绩数据库的学生表中查询年龄为20岁或22岁的学生。2. 在学生成绩数据库中查询每个学生的班级编号、学号、 姓名、平均分,结果按平均分降序排列,均分相同者按班级排列。3. 编写一个自定义函数,根据学生表中的出生日期列, 计算年龄。4. 创建一个视图教学成绩表视图显示学生的学号、姓名、 课程名、分数。5编写一个存储过程,输入学号,从教学成绩表视图显 示该学生的姓名、课程名、分数。篇二:SQL命令题答案20

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号