数据库原理实验三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三、数据库的简单查询和连接查询实验

班级:学号:姓名:日期:12月18日1. 实验目的

了解SQL Server 查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。掌握表的数据简单查询、数据排序和数据联结查询的SQL 表达和查询分析操作方法。

2. 实验内容

1)简单查询实验

用SQL表达简单查询操作,包括投影、选择条件表达、数据排序和使用临时表等,通过SQL Server查询分析器输入,并显示正确结果。

2)连接查询实验

用SQL表达连接查询操作,包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等,通过SQL Server查询分析器输入,并显示正确结果。

3. 实验要求

1)简单查询实验

在学生选课库中,用Transact-SQL语句表示下列操作,并通过查询分析器实现其数据查询操作:

1、求数学系学生的学号和姓名。

2、求选修了课程的学生学号。

3、求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。

4、求选修课程C1且成绩在80~90之间的学生学号和成绩,将成绩乘以系数0.8输出。

5、求数学系或计算机系姓张的学生的信息。

6、求缺少了成绩的学生的学号和课程号。

2)连接查询实验

在学生选课库中,用Transact-SQL语句表示下列数据连接查询操作,并在查询分析器中实验。

1、查询每个学生的情况以及他(她)所选修的课程。

2、求学生的学号、姓名、选修的课程名及成绩。

3、求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。

4、查询每一门课的间接先行课(即先行课的先行课)。

4. 实验步骤及结果:

(1)简单查询实验

1)求数学系学生的学号和姓名。

T-SQL语句:SELECT 学号,姓名 FROM 学生

WHERE 所在系='数学'

查询结果:

图1 运行界面图(1)

2)求选修了课程的学生学号。

T-SQL语句:SELECT DISTINCT 学号 FROM 选课查询结果:

图2 运行界面图(2)

3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。

T-SQL语句:SELECT 学号,成绩 FROM 选课

WHERE 课程号='C1'

ORDER BY 成绩 DESC,学号 ASC

查询结果:

图3 运行界面图(3)

4)求选修课程C1且成绩在80~90之间的学生学号和成绩,将成绩乘以系数0.8输出。

T-SQL语句:SELECT 学号,成绩*0.8 FROM 选课

WHERE 课程号 = 'C1' AND 成绩 BETWEEN 80 AND 90 查询结果:

图4 运行界面图(4)

5)求数学系或计算机系姓张的学生的信息。

T-SQL语句:SELECT * FROM 学生

WHERE 所在系 IN('数学','计算机')AND 姓名 LIKE '张%'

查询结果:

图5 运行界面图(5)

(2)连接查询实验

1)查询每个学生的情况以及他所选修的课程。

Transact-SQL语句:SELECT 学生.*,选课.* FROM 学生,选课

WHERE 学生.学号=选课.学号

查询结果:

图6 运行界面图(6)

2)求学生的学号、姓名、选修的课程名及成绩。

T-SQL语句:SELECT 学生.学号,姓名,课程名,成绩

FROM 学生,课程,选课

WHERE 学生.学号=选课.学号 AND 课程.课程号=选课.课程号查询结果:

图7 运行界面图(7)

3)求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。

T-SQL语句:SELECT 学生.学号,姓名,成绩 FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号= 'C1' AND 成绩>90 查询结果:

图8 运行界面图(8)

4)查询每一门课的间接先行课(即先行课的先行课)。

Transact-SQL语句:SELECT A.课程号,A.课程名,B.先行课

FROM 课程 A,课程 B

WHERE A.先行课=B.课程号

查询结果:

图9 运行界面图(9)

5. 实验总结

在本次实验中我学会了很多查询问题,了解了SQL Server 查询分析器的使用方法,加深了对SQL和Transact-SQL语言的查询语句的理解。掌握表的数据简单查询、数据排序和数据联结查询的SQL表达和查询分析操作方法。

相关文档
最新文档