实验三、数据库的简单查询和连接查询实验
班级:学号:姓名:日期: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
查询结果:
distinct查询图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 课程.课程号=选课.课程号查询结果:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。