实验 三 数据查询和更新 下载本文

内容发布更新时间 : 2024/5/27 16:50:18星期一 下面是文章的全部内容请认真阅读。

西北师范大学计算机科学与工程学院学生实验报告

学号 201271010217 课程名称 实验名称 专业 计算机科班级 计师(2)班 姓名 李存飞 学与技术 数据库系统及应用 课程类型 专业必修 实验 三 数据查询和更新 实验目的: 1、掌握在SQL Server2005中用对象资源管理器及T-SQL语句实现对数据库中数据表数据查询和更新,主要以查询语句select为主; 2、利用SQL查询语句完成本实验中对于数据查询与更新的相关要求; 实验内容: 一、数据查询 对实验二中创建的三个表:学生表Student、课程表Course、选课表SC中添加如下虚拟数据,针对这三个数据表在查询窗口中编写T—SQL语句,实现教材p91—pp113所有查询示例(例1——例52)。 Student表:

Course表: SC表: 在上述三表中,独立完成下面的查询,并将其整理后写在实验报告中: (将T—SQL语句保存为1.sql,以下各题目以此类推) 1. 从学生表中检索学生的姓名、出生年份和年龄,输出列名为“STUDENT_NAME”和\和“AGE” select sname as STUDENT_NAME,birth as BIRTH_YEAR,ages as AGE from student 2. 查询年龄大于18岁的所有IS系女生的学号和姓名 select sname as STUDENT_NAME,birth as BIRTH_YEAR,ages as AGE from student 3. 查询学号为“j0403”的学生选课信息包括(姓名、课程名和成绩),并将结果按成绩降序排列 select sname,cname,grade from student,course,sc where student.sno=sc.sno and sc.cno=course.cno and sc.sno='j0403' order by grade 4. 查询陈老师所教课程的课程号和课程名 select cno,cname from course where tname like'陈%' 5. 查询平均成绩在80分以上的学生学号和平均成绩 select sno,avg(grade) as 平均成绩 from sc group by sno having avg(grade)>80 6. 求选修各门课程的学生的总人数,列出课程号和选修总人数 select cno as 课程号,count(*) as 选修总人数 from sc group by cno 7. 列出每个同学的学号及所选课程的平均成绩,最高分,最低分,没有选修的同学也列出(左外连接) select student.sno as 学号,avg(grade) as 平均成绩,max(grade) as 最大值,min(grade) as 最小值 from student left outer join sc on student.sno=sc.sno group by student.sno 8. 查询与“李丽”在同一个系学习的学生学号、姓名,所在系(要求输出的学生中不包含‘李丽’)。(自身连接) select b.sno,b.sname,b.sdept from student as a join student as b on a.sdept=b.sdept where a.sname='李丽' and b.sname!='李丽' 9. 查询年龄大于22岁的所有男生的总人数。 select count(sno) as 总人数 from student where sex='男'and ages>22 10. 查询至少有6人选修的课程名