数据库习题

《网络数据库SQL》自检自测题答案
有一个学生-课程数据库,数据库中包括三个表:
(1) “学生Student学号Sno)、姓名Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,可记为: Student(Sno,Sname,Ssex,Sage,Sdept) Sno 为关键字。
(2) “课程Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,可记为: Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。
(3) “学生选课SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,可记为: SC(Sno,Cno,Grade) (SNO, CNO) 为关键字。
完成下列操作:
1、建立一个苯丙氨酸解氨酶“学生Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。
CREATETABLE Student
(Sno CHAR(5) NOT NULL UNIQUE,
Sname CHAR(20),
Ssex CHAR(1),
Sage INT,
Sdept CHAR(15));
2、Student表增加入学时间列,其数据类型为日期型。
ALTER TABLE Student ADD Scome DATE;
3、删除Student
DROP TABLE Student
4、查询全体学生的学号与姓名
SELECT Sno, Sname
FROM Student;
5、查询全体学生的详细记录
SELECT *
FROM Student;
6、查所有选修过课的学生的学号
SELECT DISTINCT
Sno
FROM SC;
红河学院学报7、查所有年龄在20岁以下的学生姓名及其年龄
SELECT Sname, Sage
FROM Student
WHERE Sage <20;
8、查考试成绩有不及格的学生的学号
SELECT DISTINCT Sno
FROM Course
WHERE Grade <60;
9、查询年龄在2023岁之间的学生的姓名、系别、和年龄
SELECT Sname, Sdept, Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23;
10、查所有姓刘的学生的姓名、学号和性别中岛敦
SELECT Sname, Sno, Ssex
FROM Student
WHERE Sname LIKE '%';
11、查姓欧阳且全名为三个汉字的学生的姓名
SELECT Sname
FROM Student
WHERE Sname LIKE '欧阳__';
12、查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列
SELECT Sno, Grade
FROM SC
WHERE Cno='3'
ORDER
BY Grade DESC;
13、计算1号课程的学生平均成绩
SELECT AVG(Grade)
FROM SC
WHERE Cno='1';
14、查询学习1号课程的学生最高分数
SELECT MAX(Grade)
FROM SC
WHERE Cno='1';
15、查询与刘晨在同一个系学习的学生
SELECT Sno, Sname, Sdept
FROM Student
WHERE Sdept IN  
      SELECT Sdept
      FROM Student
      WHERE Sname='刘晨';
16、将一个新学生记录(学号:95020;姓名:陈冬;性别:男;所在系:IS;年龄:18岁)插入Student表中
INSERT
INTO Student
VALUES ('95020', '陈冬', '', 'IS', 18);
17、将学生95001的年龄改为22
UPDATE Student
SET Sage=22
WHERE Sno='95001';
18、将计算机科学系全体学生的成绩置零
UPDATE SC
SET Grade=0
WHERE ‘CS’=
( SELECT Sdept
FROM Student
WHERE Student.Sno=SC.Sno)
19、删除学号为95019的学生记录
DELETE
FROM Student
WHERE Sno=‘95019’;
20、删除计算机科学系所有学生的选课记录
DELETE
FROM SC
WHERE 'CS'=
      (SELETE Sdept
      FROM Student
      WHERE Student.Sno=SC.Sno);
21、创建一存储过程getDetailByName, 通过输入参数学生姓名(如“章山",筛选出该学生的基本信息,对不存在此学生姓名的输入值,必须作一检测,打印信息“不存在此学生”。
(1)创建:
  Create procedure getDetailByName
  @name nvarchar(10)
  AS
  IF (SELECT COUNT(*) FROM Student WHERE Sname = @Name) > 0
    SELECT *
FROM Student
Where Sname = @Name
  ELSE
SELECT 警示 = '不存在姓名为 ' + @Name + ' 的'
22、创建Student表按学号升序建立唯一索引
Create Unique Index Stusno on Student(Sno)
23、创建Course表按课程号升序建立唯一索引
Create Unique Index Coucno on Course(Cno)
24、创建SC表按学号升序和课程号降序建立唯一索引
Create Unique Index Scno on SC(Sno ASC,Cno DESC)
25、建立信息系学生的视图
Creat View IS_Student
      AS
      Select Sno,Sname,Sage
      From Student
      Where Sdept=IS     
26、建立所有女生记录的视图
Creat View F_Student(stdnum,name,sex,age,dept)
AS
      Select *
      From Student
Where Ssex=
27、创建了一个名为stu_cou数据库,该数据库的主数据文件逻辑名称为“stu_cou_data”,物理文件名为“stu_cou.mdf”,路径为D:\sql,初始大小为10MB,最大尺寸为无限大,增长速
度为10%;数据库的日志文件逻辑名称为“stu_cou_log”,物理文件名为“stu_cou.ldf”,路径为D:\sql,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。
Create database stu_cou
on primary
(name=stu_cou_data,
filename='d:\sql\stu_cou.mdf',
size=10,
maxsize=unlimited,
filegrowth=10%)
log on
(name=stu_cou_log,
filename='d:\sql\stu_cou.ldf',
size=1,
maxsize=5,
filegrowth=1)
28、使用sp_addumpdevice创建一个备份设备stucbac,这是一个磁盘文件,其物理名称为“D:\sql\stuc.bak”,将stu_cou数据库备份到该设备上。
Exec  sp_addumpdevice disk,stucbac, D:\sql\stuc.bak
文书档案Backup Database stu_cou to stucbac
29、查询选修了课程名为“信息系统”的学生学号和姓名
select Sno,Sname
from student
where sno in
(select Sno
from SC
where Cno in
( select Cno
from Course
where Cname=劳动保险条例实施细则修正草案信息系统) )
或者
select Student.Sno,Sname
from Student,SC,Course
where Student.Sno=SC.Sno and
SC.Con=Course.Cno and
Course.Cname=‘信息系统’
30、查询其他系中比IS系任一学生年龄小的学生名单。
Select Sanme,Sage
From
Where Sage<ANY
(Select Sage
from Student
where Sdept=IS)
and Sdept<>IS
31、查询student表中的所有信息,将查询结果保存到当前数据库中的新数据表re_stu中。
Select * into re_stu from student
32、查询出所有所有学生的学号、姓名、性别、年龄、所在系,而且请使用中文作为查询结果的各字段的名称。
Select Sno as 学号,Sname as 姓名,Ssex as 性别,Sage as 年龄,Sdept as 所在系
From Student
或者
Select 学号=Sno, 姓名=Sname,性别=Ssex,年龄=Sage, 所在系=Sdept
From Student
33、在表student中增加一个缺省约束,当向student表插入一行数据时,如果没有为性别(Ssex)列提供数据,那么自动插入“女”值。
Alter table student
广西青年干部学院
Add
CONSTRAINT default_student_sex

本文发布于:2024-09-21 10:42:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/4163.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学生   数据库   学号   查询   姓名   课程   结果
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议