new《数据库原理及应用》实验指导书 联系客服

发布时间 : 星期五 文章new《数据库原理及应用》实验指导书更新完毕开始阅读05e8630e804d2b160a4ec017

数据库原理及应用实验指导书

② 利用SQL Server集成管理器(简称SSMS)交互式创建3个表。

(2)在3个表中添加示例数据(任选一种数据添加方法) 表Student 学号 姓名 性别 年龄 所在系 Sno Sname Ssex Sage Sdept 200215121 李勇 男 20 CS 200215122 刘晨 女 19 CS 200215123 王敏 女 18 MA 200215125 张立 男 19 IS 表Course 课程号 课程名 现行课 学分 Cno Cname Cpno Ccredit 1 数据库 5 4 2 数学 2 3 信息系统 5 4 4 操作系统 6 3 5 数据结构 7 4 6 数据处理 2 7 PASCAL语言 6 4 表SC 学号 课程号 成绩 Sno Cno Grade 200215121 1 92 200215121 2 85 200215121 3 88 2 200215122 90 3 200215122 80 ① 用SQL语句中的更新语句(Insert语句、Update语句和Delete语句)往3个表输入示例数据。

use S_T;/*将S_T设为当前数据库*/

insert into student values('200215121','李勇','男',20,'CS'); insert into student values('200215122','刘晨','女',19,'CS'); insert into student values('200215123','王敏','女',18,'MA'); insert into student values('200215125','张立','男',19,'IS'); go

/*为表Student添加数据*/

insert into course values('1', '数据库', NULL,4); insert into course values('2', '数学', NULL,2); insert into course values('3', '信息系统', NULL,4); insert into course values('4', '操作系统', NULL,3); insert into course values('5', '数据结构', NULL,4); insert into course values('6', '数据处理', NULL, 2); insert into course values('7', 'java', NULL,4); go

update Course set Cpno = '5' where Cno = '1'; update Course set Cpno = '1' where Cno = '3'; update Course set Cpno = '6' where Cno = '4';

5

数据库原理及应用实验指导书

update Course set Cpno = '7' where Cno = '5'; update Course set Cpno = '6' where Cno = '7'; /*为表Course添加数据*/ go

insert into SC values('200215121', '1',92); insert into SC values('200215121', '2',85); insert into SC values('200215121', '3',88); insert into SC values('200215122', '2',90); insert into SC values('200215122', '3',80); /*为表SC添加数据*/ go ② 利用SQL Server集成管理器(简称SSMS)交互式输入数据。

4.4 对学生关系Student、课程关系Course和选修关系SC进行查询。

4.4.1 基本练习

(1)

SELECT语句的基本用法

例如:查询全体学生的详细记录。 SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student

(2) 使用WHERE子句进行有条件的查询

例如:查询选修2号课程且成绩在90分以上的所有学生的学号、姓名 SELECT Student.Sno, student.Sname FROM Student, SC

WHERE Student.Sno = SC.Sno AND SC.Cno= ' 2 ' AND SC.Grade > 90 (3) 使用IN,NOT IN,BETWEEN等谓词查询

例如:查询信息系(IS)、数学系(MA)和计算机科学系(CS)学生的姓名和性别。 SELECT Sname,Ssex FROM Student

WHERE Sdept IN ( 'IS','MA','CS' )

例如:查询年龄在20~23岁(包括20岁和23岁)之间的学生的姓名、系别和年龄。 SELECT Sname,Sdept,Sage

6

数据库原理及应用实验指导书

FROM Student

WHERE Sage BETWEEN 20 AND 23 (4)利用LIKE子句实现模糊查询

例如:查询所有姓刘学生的姓名、学号和性别。 SELECT Sname,Sno,Ssex FROM Student

WHERE Sname LIKE '刘%' (5)利用ORDER子句为结果排序

例如:查询选修了3号课程的学生的学号及其成绩,查询结果按分数降序排列。 SELECT Sno,Grade FROM SC WHERE Cno= '3' ORDER BY Grade DESC

(6)用SQL Server的统计函数进行统计计算 例如:计算1号课程的学生平均成绩。 SELECT AVG(Grade) FROM SC WHERE Cno= '1'

(7)用GR0UP BY子句实现分组查询的方法 例如:查询选修了3门以上课程的学生学号。 SELECT Sno FROM SC GROUP BY Sno HAVING COUNT(*) >3

4.4.2 扩展练习(要求写出并执行SQL语句来完成以下各种操作,记录查询结果)

7

数据库原理及应用实验指导书

(1)查询全体学生的学号、姓名和年龄;

SELECT Sno,Sname,Sage FROM Student

200215121 李勇 20 200215122 刘晨 19 200215123 王敏 18 200215125

张立

19

(2)查询所有计算机系学生的详细记录;

SELECT *

FROM Student

where Sdept IN ('CS')

200215121 李勇 男 20 CS 200215122 刘晨 女 19 CS

(3)找出考试成绩为优秀(90分及以上)或不及格的学生的学号、课程号及成绩;

SELECT Sno,Cno,Grade

FROM SC

WHERE Grade<60 OR Grade>90;

200215121 1 92

(4)查询年龄不在19~20岁之间的学生姓名、性别和年龄;

SELECT Sname,Ssex,Sage

FROM Student

WHERE Sage NOT BETWEEN 19 AND 20; 王敏 女 18

(5)查询数学系(MA)、信息系(IS)的学生的姓名和所在系;

SELECT Sname,Sdept

FROM Student

where Sdept IN ('MA','IS')

王敏 MA 张立

IS

(6)查询名称中包含“数据”的所有课程的课程号、课程名及其学分;

SELECT Cno,Cname,Ccredit FROM Course

WHERE Cname LIKE '数据%';

1 数据库 4 5 数据结构 4 6

数据处理

2

(7) 找出所有没有选修课成绩的学生学号和课程号;

8