资源描述
数据库原理与应用课程实验报告开课实验室:信息管理与信息系统实验室
学院
学号
姓名
成绩
课程 名称
数据库原理 与应用
实验工程
名 称
SQL语言查询
指导教师
实验目的.观察查询结果,体会SELECT语句实际应用;
1 .要求学生能够在查询分析器中使用SELECT语句进行简单查询。
2 .熟练掌握简单表的数据查询、数据排序、数据连接查询和数据聚合的操作方法。
实验环境实验准备:
1 .完成实验准备,成功建立了数据库和表。
2 . 了解简单SELECT语句的用法。
3 .比拟熟悉查询分析器中的SQL脚本运行环境。
实验内容:
1 .简单查询操作。
2 .连接查询操作。
3 .聚合查询操作。
1.
实验使用的表:
选课表:
I
DESKTOP-KMFB4NF.EDUC -
1
Sno
Cno
Grade
►
1 OO1
cl
91
1 OO1
c3
36
1 OO1
c4
67
1 002
c2
80
1003
cl
53
1 003
c2
48
1 004
c2
88
1005
cl
NULL
1 005
c2
38
1005
c3
60
1006
c2
89
1 007
c2
87
1 008
c2
59
1 OOB
c5
58
NULL
NULL
NULL
2.学生表:
Sno
Sname
Ssex
Sbrith
Shome
Sdept
►
Foo"H
王小虎
女
1992-2-01
南京
信管
1002
张小明
勇
1998-3-28
癖
信管
1003
列、僚
女
1997-6-1
上海
1004
张阿篮
男
1998-8-7
计篁机科学・・・
1005
孙烦.
男
1996-5-3
四川
1006
小奇
男
1998-6-19
癖
计篁腑学.・・
1007
融
g
1999-9-9
苏
人工智能
1008
题忆
女
2000-3-14
■
信管
.
NULL
NULL
NULL
NULL
NULL
NULL
课程表:
3.
三.实验步骤及过程原始记录(数据、图表等) 具体操作及结果:
1 .简单查询操作:
—n 查询信管系的学生学号和姓名e SELECT Sno,Sname FROM S
WHERE Sdept 二‘信管’
里结果&消,急Sno Sname
1 J 1001 J王小虎
21002 张小明
31008 吴如忆
| —2)查画岁上有哪儿个姓E[SELECT DISTINCT SUBSTRINGISname,1,1) FirstName FROM S
Rix*s 七Nam日
1 「.举
2 弥
3 王
4 昊
5 弓长
—3)查询姓名是2个字的同学姓名
e [SELECT Sname
FROM S
WHERE Sname LIKE 卬结果心消息
Sname
「其道;
'
~4) 查询计算机系和信管系的姓张的学生的信息
0SELECT *
FROM S
WHERE Sname LIKE '张沙 AND (Sdept | '计算机科学'OR Sdept | '信管')
口结果岛消息
Sno
Sname
Ssex
Sbrith
Shone
Sdept
1
1 1002 •
:
|张小明
男
1998-3-28
北京
信管
2
1004
张阿阿
男
1998-8-7
武汉
计算机科学
|-5)查鲍C2课卷的学生学号和成乳并要求时查询结果按成翻降肥网如果成耕同那么按衿的升梆列 [SELECT Sno, Grade
FROM SC
WHERE Cno = 'c2'
ORDER BY Grade DESC目结果心消息
1
Sno
( 1006
Grade
89
2
1004
88
3
1005
88
4
1007
87
5
1002
80
6
1008
59
7
1003
48
2.连接查询操作:
国结果以消息
Sno
Grade
1
| 1006
| 89
2
1004
88
3
1005
88
4
1007
87
5
1002
80
6
1008
59
7
1003
48
口结果力消息
Sno
Sname
Cname
Grade
1
1001
王小虎
数据结构
91
2
1001
王小虎
高数
36
3
1001
王小虎
数据挖掘
67
4
1002
张小明
数据库
30
5
1003
李小、麻
数据结构
53
6
1003
李小、麻
数据库
48
7
1004
张阿篮
数据库
88
8
1005
孙大炮_
数据结构
NULL
9
1005
孙大炮_
数据库
88
10
1005
孙大炮_
高数
60
11
1006
王大奇
数据库
89
12
1007
吴迪
数据库
87
13
1008
吴如忆
数据库
59
14
1008
吴如忆
英语
58
-2)查询选修C1课程且成绩在90分以上的学生学号、姓名及成绩
日Select S.Sno,S Sname,SC Grade
FROM SC,S
WHERE SC. Sno 二 S. Sno AND SC.Cno = 'd' AND SC. Grade >= 90
卬结果里消息Sno Sname Grade
111001 |王小虎 91:z
-3) 查包教据库课程成绩比“张小明”高的同学姓名
[SELECT S2, Sname
FROM SC SC1,SC SC2,S S1,S S2
WHERE SCl.Cno SC2 Cno JD SC2,Cno 'c2' AND SC2.Grade < SC1 GradeAND SC2 Sno S1 Sno AND S1 Sname LIKE '张小明'AND SC1 Sno - S2 Sno
里结果空消息 Sname
1 :熊而赤
2 杯天炮_
3 王大奇
4 吴迪
二4:查询每一门课的直接先行课名称
sSELECT C1.Cname,C2. Cname CpoName
FROM C C1,C C2
WHERE C2,Cno = C1.Cpno
团结果&消息
Cname CpoName i『薮奇结杨y高数
2 …薮搪毒 :数据结构
3 数据挖掘 数据库.聚合查询操作:
—1)^查询班上的姓的个数□SELECT COUNT (DISTINCT SUBSTRING (Sname,1 D) SumFname FROM S
司结果为消息
SumFname 1|5—21查询学生表中的部![件数
事ELECT COUNT (DISTINCT Sdept) NumSdepet FROM S
司结果为消息
NumSdepet 1| 4
—3)查逋每个姓的同学?数
(SELECT SUBSTRING (Sname 1 1 Fi rstName.COUNT (SUBSTRI NG Sname 1 1
FROM S
GROUP BY SUBSTRING(Sname,1,1)
r
目结果阿消息
FirstName
NumFnanie
1
1李
| 1
2
孙
1
3
王
2
4
吴
2
5
张
2
—4)查询选课人数超过2的课程名称及其选课人数qELECT SC_C. Cname COUNT (SC_C.Cname) C_Num
FROM ( SELECT SC.Sno,0. Cname
FROM SC,C
WHERE SC.Cno = C.Cno ) AS SC_C(Sno, Cname)GROUP BY SC_C. Cname
HAVI NG COUNT (SC_C. Cname) > 2区结果隹消息
Cname C_Num]薮搪结构;3
1 :…薮捻库……:7-5)查询两门及其以上]及格课程的同土的芝号,姓名及其营里
1-[SELECT F_Students, Sno F_Students Sname COUN,F Students. Sno NumF S, AVG Grade AVG G FROM (SELECT SC Sno.SC Cno.SC Grade S.SnameFROM SC. S
WHERE SC Sno S Sno SC Grade 60 AS F_Students Sno Cno Grade Sname GROUP BY F Students Sno F Students Sname100% ▼
国结果为消息
Sno
Sname
NumF_S
AVG_G
1
| 1001
|王小虎
1
36
2
•••••••••••••••••••••••
1003
'李小'麻
2
50
3
1008
吴如忆
2
58
实验报告格式说明
1 .标题:二号宋体;
2 .表中内容:
1)标题:小四号,黑体;
2)正文:五号宋体,单倍行距;
3)图片:无缩进,居中显示;
4)图片编号:工程号+序号,即如果作实验工程2时,在实验步骤栏目中的图片,采用类似“2-1” 的形式,格式为小五黑体,无缩进居中显示;
3 .纸张:A4
4 .版面格式:上下边距:2. 5cm;左右边距:2. 5/2cm
5 .文档名称:实验序号++学号,例如,实验
展开阅读全文