1、#*实验一 数据库查询课程名称: 数据库原理实验 实验类型: 验证型实验名称 数据库查询 学时 4 学时实验目的:使学生掌握 SQL Server Query Analyzer 的使用方法,加深对 SQL 和 T-SQL语言的查询语句的理解。熟练掌握表的基本查询,连接查询和嵌套查询,以及掌握数据排序和数据分组的操作方法。实验原理:SELECT ALL|DISTINCT , FROM , WHERE GROUP BY HAVING order by ASC|DESC;实验方法:将查询需求用 T-SQL 语言表示;在 SQL Server Query Analyzer 的输入区中输入 T-SQL
2、查询语句;设置 Query Analyzer 的结果区为 Standard Execute(标准执行)或 Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。实验内容:1. 分别用带 DISTINCT 和不带 DISTINCT 关键字的 SELELCT 在 student 中进行查询.带 distinct:Select class_id from student不带 distinct:select distinct class_id from student2. 将 teacher 表中各教师的姓名、教工号及工资按
3、95发放的信息,并将工资按 95发放后的列名改为预发工资select teacher_id,teacher_name,salary*0.95 as 预发工资from teacher3. 查询 course 表中所有学分大于 2 并且成绩不及格的学生的信息.select distinct student.* from student,course,sc where student.student_id=sc.student_id and sc.course_id=course.course_id and course.credit2 and sc.grade80In:select * from
4、student where student_id in(select student_id from sc where course_id=dep04_s001 and grade80)exists:select * from student where exists(select student_id from sc where student.student_id=sc.student_id and course_id=dep04_s001 and grade80)10. 查询所有上计算机基础课程的学生的学号、选修课程号以及分数(分别用连接,in 和 exists 实现)连接:select
5、 sc.* from sc,course where course.course_name=计算机基础 and course.course_id=sc.course_idIn:select student_id,course_id,grade from sc where course_id in(select course_id from course where course_name=计算机基础)exists:select student_id,course_id,grade from sc where exists(select * from course where course_id
6、=sc.course_id and course_name=计算机基础)11. 查询选修了课程名为“数据库基础”的学生学号和姓名(分别用连接,in 和exists 实现)连接:select student.student_id,student.student_name from sc,student,course where course.course_name=数据库开发技术 and sc.student_id=student.student_id and course.course_id=sc.course_idIn:select student_id,student_name from
7、student where student_id in(select student_id from sc where course_id=(select course_id from course where course_name=数据库开发技术 ) )exists:select student_id,student_name from student where exists(select * from sc where sc.student_id=student.student_id and sc.course_id=(select course_id from course wher
8、e course_name=数据库开发技术 )12. 查询所有计算机系学生的学号、选修课程号以及分数(分别用连接,in 和exists 实现)连接:select sc.* from sc,department,student where department.department_name=计算机科学 and department.department_id=student.department_id and sc.student_id=student.student_idIn:select* from sc where student_id in(select student_id from student where department_id=(select department_id