课程实验三报告.docx
《课程实验三报告.docx》由会员分享,可在线阅读,更多相关《课程实验三报告.docx(5页珍藏版)》请在冰豆网上搜索。
课程实验三报告
课程实验三报告
《数据库原理及应用》实验报告
实验名称:
________________指导教师:
_______完成日期:
___________
专业:
________________班级:
___________姓名__________
一、实验目的:
了解SQLServer查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
掌握表的数据简单查询、数据排序和数据联结查询的SQL表达和查询分析操作方法。
二、实验内容:
1)简单查询实验
在学生选课库中,用Transact-SQL语句表示下列操作,并通过查询分析器实现其数据查询操作:
v求数学系学生的学号和姓名。
v求选修了课程的学生学号。
v求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
v求选修课程C1且成绩在80~90之间的学生学号和成绩,将成绩乘以系数0.8输出。
v求数学系或计算机系姓张的学生的信息。
v求缺少了成绩的学生的学号和课程号。
2)连接查询实验
在学生选课库中,用Transact-SQL语句表示下列数据连接查询操作,并在查询分析器中实验。
v查询每个学生的情况以及他(她)所选修的课程。
v求学生的学号、姓名、选修的课程名及成绩。
v求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
v查询每一门课的间接先行课(即先行课的先行课)。
三.实验步骤及结果
(1)简单查询实验
1)求数学系学生的学号和姓名。
●T-SQL语句:
SELECT学号,姓名FROM学生
WHERE所在系='数学'
结果:
2)求选修了课程的学生学号。
●T-SQL语句:
SELECTDISTINCT学号
FROM选课
结果:
3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
●T-SQL语句:
SELECT学号,成绩FROM选课
WHERE课程号='C1'
ORDERBY成绩DESC,学号ASC
结果为:
4)求选修课程C1且成绩在80~90之间的学生学号和成绩,将成绩乘以系数0.8输出。
●T-SQL语句:
SELECT学号,成绩*0.8
FROM选课
WHERE课程号='C1'AND成绩BETWEEN80AND90
结果为:
5)求数学系或计算机系姓张的学生的信息。
●T-SQL语句:
SELECT*
FROM学生
WHERE所在系IN('数学','计算机')AND姓名LIKE'张%'
结果为:
6)求缺少了成绩的学生的学号和课程号。
●Transact-SQL语句:
SELECT学号,课程号
FROM选课
WHERE成绩ISNULL
(2)连接查询实验
1)查询每个学生的情况以及他(她)所选修的课程。
●Transact-SQL语句:
SELECT学生.*,选课.*
FROM学生,选课
WHERE学生.学号=选课.学号
结果为:
2)求学生的学号、姓名、选修的课程名及成绩。
●T-SQL语句:
SELECT学生.学号,姓名,课程名,成绩
FROM学生,课程,选课
WHERE学生.学号=选课.学号AND课程.课程号=选课.课程号
结果为:
3)求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。
●T-SQL语句:
SELECT学生.学号,姓名,成绩
FROM学生,选课
WHERE学生.学号=选课.学号AND课程号='C1'AND成绩>90
结果为:
4)查询每一门课的间接先行课(即先行课的先行课)。
●Transact-SQL语句:
SELECTA.课程号,A.课程名,B.先行课
FROM课程A,课程B
WHEREA.先行课=B.课程号
结果为:
四、实验总结:
(1)通过学习,我们应注意的小细节有:
1)T-SQL语句结束时不加“;”。
2)内连接、左外部连接和右外部连接的含义及表达方法。
3)输入SQL语句时应注意,语句中使用西文操作符号,包括引号、等号、逗号等。
(2)不管是简单查询,还是连接查询,首先我们应读懂题意,注意各层次之间的关系及联系,这样才能不断提高。