内容发布更新时间 : 2024/11/8 14:39:22星期一 下面是文章的全部内容请认真阅读。
数据库原理及应用实验指导书
② 利用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