实验六 DML的数据查询
一、实验目的
DML的数据查询指对数据库中的数据查询、统计、分组、排序等操作。查询语句可以分为简单查询、连接查询、嵌套查询和组合查询。
本次实验了解DML语言的SELECT语句对数据的查询,学会SQL Server 2000的查询分析器中用DML语言对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。
二、实验内容
1.启动数据库服务软件SQL Server 2000的查询分析器,用SELECT语句对表进行简单查询操作,整个查询过程只涉及到一个表,是最基本的查询语句。
语法格式如下:
Select <目标列组> From <数据源> [Where <元组选择条件>]
[Group by <分组列> [Having <组选择条件>]]
[Order by <排序列1> <排序要求> [, …n]]
2.用SELECT语句对表进行连接查询操作,连接查询涉及被连接和连接两个表,所以数据源一般为多个表。用来连接两个表的条件称为连接条件,一般格式为:
[<表名1>.]<列名1> <比较运算符> [<表名2>.]<列名2>
其中比较运算符主要有:=、>、<、>=、<=、!=。
3.用SELECT语句对表进行嵌套查询操作,一个Select…From…Where语句称为一个查询块,将一个查询块嵌套在另一个查询块的Where子句或Having短语的条件中的查询,就是嵌套查询。主要有使用In操作符、使用比较运算符的嵌套查询方式。
4.用SELECT语句对表进行组合查询操作,将SELECT语句的查询结果集再进行集合运算就构成了SQL的组合查询。组合查询操作符有Union(并操作)、Intersect(交操作)和Minus(差操作)。
三、实验任务
1.打开数据库SQL Server 2000的查询分析器,用Create Table建表Student,表结构如下所示:
字段名 | 类型 | 长度 | 含义 |
ID | Varchar | 20 | 学号 |
Name | Varchar | 10 | 姓名 |
Age | Int | 年龄 | |
Department | Varchar | 30 | 所在系 |
2.用Create Table建表Course,表结构如下所示:
字段名 | 类型 | 长度 | 含义 |
CourseID | Varchar | 15 | 课程号 |
CourseName | Varchar | 30 | 课程名 |
CourseBefore | Varchar | 15 | 先行课 |
3.用Create Table建表Choose,表结构如下所示:
字段名 | 类型 | 长度 | 含义 |
ID | Varchar | 20 | 学号 |
CourseID | Varchar | 30 | 课程号 |
Score | Dec | 5,2 | 成绩 |
4.用INSERT语句向表Student中插入3条记录:
ID | Name | Age | Department |
00001 | 张三 | 20 | 计算机系 |
00002 | 李四 | 19 | 计算机系 |
00003 | 王五 | 21 | 计算机系 |
5.INSERT语句向表Course中插入3条记录:
CourseID | CourseName | CourseBefore |
C1 | 计算机引论 | - |
C2 | PASCAL语言 | C1 |
C3 | 数据结构 | C2 |
6.用INSERT语句向表Choose中插入7条记录:
ID | CourseID | Score |
00001 | C1 | 95 |
00001 | C2 | 80 |
00001 | C3 | 84 |
00002 | C1 | 80 |
00002 | C2 | 85 |
00003 | C1 | 78 |
00003 | C3 | 70 |
7.用SELECT语句求计算机系学生的学号和姓名。
Select ID,Name
From student
Where Department=’计算机系’
8.用SELECT语句求学生的学号、姓名、选的课程名及成绩。
Select student.ID,Name, CourseName, Score
From Student, Course, Choose
Where Student.ID= Choose.ID AND Course. CourseID=Choose. CourseID
9.用SELECT语句求C1课程的成绩低于张三的学生的学号和成绩。
Select DISTINCT student.ID,score
From student,choose
Where choose. CourseID=’C1’ and score<(select score
From choose
Where choose. CourseID=’C1’ and choose.ID=(select student.ID
From student
Where student.name=’张三’))
10.用SELECT语句求选了C2课程并且也选了C3课程的学生的学号。
Select DISTINCT student.ID
From student
select distinct from Where student.ID in (select Choose.ID
From choose
Where choose.CourseID=’c2’ and choose.CourseID in (select choose.ID
From choose
Where CourseID=’C3’))
11.写好实验报告。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论