实验四 简单查询
本实验基于school数据库实现
一、实验目的
1.掌握Management Studio的使用。
2.掌握SQL中Select命令的使用。
二、实验内容及要求
用SQL语句完成下列查询。使用数据库为SCHOOL数据库。
- 查询学生的姓名、性别、班级名称,并把结果存储在一张新表中。(提示:用Select……Into……)
select stu_name,stu_sex,class_name
into newtable
from student,class
2.查询男生的资料。
select *
from Student
where Stu_sex = '男'
3.查询所有计算机系的班级信息。
select Class.*
from Class,Deparment
where Class.Depar_id = Deparment.Depar_id AND Depar_name = '计算机系'
4.查询艾老师所教的课程号。
select distinct CourseTeacher.Course_id
from Teacher,CourseTeacher
where Teacher.Teac_name like'艾%' and CourseTeacher.Teac_id = Teacher.Teac_id
5.查询年龄小于30岁的女同学的学号和姓名。(获取系统当前时间函数:getdate(),获取时间的年份函数:year,获取月份函数:month,获取“日”函数:day)
select Stu_id,Stu_name
from Student
where Stu_sex = '女' and year(getdate())-year(Birthday)<40
6.查询所有被选修的课程号。
select distinct Course_id
from StudentGrade
7.在学生基本信息表Student中检索学生的姓名和出生年份,输出的列名为STUDENT_NAME和BIRTH_YEAR。
select Stu_name as STUDENT_NAME,year(Birthday) as BIRTH_YEAR
from Student
8.在StudnetGrade中,求选修课程“0511”且分数排名为前10%学生的学号和得分。(Top 10 percent)
select top 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 = '0109' or Course_id = '0101'
10.查询课程“0101”的成绩在80与90之间的同学的学号。
select Stu_id
from StudentGrade
where Course_id = '0101'and Grade between 80 and 90
11.查询平均成绩都在80分以上的学生学号及平均成绩。(group by)
select Stu_id ,avg(Grade) as 平均成绩
from StudentGrade
group by Stu_id Having avg(Grade)>80
三、实验小结
1.此次实验中得到的哪些经验教训、疑难问题?有什么心得或总结?
简单查询代码较简单,注意语法问题就行。
如有错请指出!!!