数据库原理及应用实验四 简单查询
一、实验目的一、实验目的
1.掌握Management Studio的使用。2.掌握SQL中Select命令的使用。
二、实验内容及要求
用SQL语句完成下列查询。使用数据库为SCHOOL数据库。
查询学生的姓名、性别、班级名称,并把结果存储在一张新表中。(提示:用Select……Into……)
Select stu_name,stu_sex,class_nameInto newstudentFrom student,classWhere student.class_id=class.class_id
2.查询男生的资料。
Select *From studentWhere Stu_sex=’男’
3.查询所有计算机系的班级信息。
Select * From class,DeparmentWhere class.Depar_id=Deparment.Depar_id and Depar_name='计算机系'
4.查询艾老师所教的课程号。
Select Course_id,Teac_nameFROM Teacher,CourseTeacherwhere Teacher.Teac_id=CourseTeacher.Teac_id and Teac_name like '艾%'
5.查询年龄小于40岁的女同学的学号和姓名。(获取系统当前时间函数:getdate(),获取时间的年份函数:year,获取月份函数:month,获取“日”函数:day)
select stu_id,stu_name from studentwhere (year (Birthday)-year (getdate ()))< 40 and stu_sex= '女'
6.查询所有被选修的课程号。
select Course_name ,Course_idfrom Course
7.在学生基本信息表Student中检索学生的姓名和出生年份,输出的列名为STUDENT_NAME和BIRTH_YEAR。
Select stu_name as STUDENT_NAME,Birthday as BIRTH_YEARFrom student
8.在StudnetGrade中,求选修课程“0511”且分数排名为前10%学生的学号和得分。(Top 10 percent)
select top 10 percent Stu_id,Grade from StudentGrade where course_id= '0511' order by Grade desc
9.查询选修课程号为“0109”或“0111”的学生学号。
select Stu_id from StudentGrade where Course_id in ('0109','0111' )
10.查询课程“0101”的成绩在80与90之间的同学的学号。
select Course_name ,A.Stu_id,A.Stu_namefrom Student A,Course B,StudentGrade Cwhere A.Stu_id=C.Stu_id and B.Course_id=C.Course_id AND C.Course_id='0101'and Grade>=80 and Grade<=90
11.查询平均成绩都在80分以上的学生学号及平均成绩。(group by)
select Stu_id,avg(Grade) from StudentGradegroup by Stu_id having avg(Grade)>80
三、实验小结
1.此次实验中得到的哪些经验教训、疑难问题?有什么心得或总结?