1.掌握Management Studio的使用。
2.掌握SQL中Select命令的使用。
用SQL语句完成下列查询。使用数据库为SCHOOL数据库。
1.查询学生的姓名、性别、班级名称,并把结果存储在一张新表中。(提示:用Select……Into……)
select Stu_id,Stu_sex,Class_name into newtable1
from Student,Class
where Student.Class_id=Class.Class_id
2.查询男生的资料。
select *
from Student,Class,Course,StudentGrade
where Stu_sex='男' and Student.Stu_id=StudentGrade.Stu_id
and Student.Class_id=Class.Class_id and StudentGrade.Course_id=Course.Course_id
3.查询所有计算机系的班级信息。
select Class.*
from Class
where Depar_id=(
select Depar_id
from Deparment
where Depar_name='计算机系'
)
Select *
From class,Deparment
Where class.Depar_id=Deparment.Depar_id and Depar_name='计算机系'
4.查询艾老师所教的课程号。
select distinct Course_id
from CourseTeacher
where Teac_id in(
select Teac_id
from Teacher
where Teac_name like '艾%'
)
select distinct Course_id
from CourseTeacher,Teacher
where CourseTeacher.Teac_id=Teacher.Teac_id
and Teac_name like '艾%'
5.查询年龄小于30岁的女同学的学号和姓名。(获取系统当前时间函数:getdate(),获取时间的年份函数:year,获取月份函数:month,获取“日”函数:day)
select Stu_id,Stu_name
from Student
where (year(getdate())-year(Birthday))<40
and Stu_sex='女'
6.查询所有被选修的课程号。
select distinct Course_id
from StudentGrade
select distinct Course_id
from StudentGrade
where Course_id in(
select Course_id
from Course
)
7.在学生基本信息表Student中检索学生的姓名和出生年份,输出的列名为STUDENT_NAME和BIRTH_YEAR。
select Stu_name AS STUDENT_NAME ,year(birthday) AS BIRITH_YEAR
from 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='0109' or Course_id='0111'
select Stu_id
from StudentGrade
where Course_id in('0109','0111')
10.查询课程“0101”的成绩在80与90之间的同学的学号。
select distinct Stu_id
from StudentGrade
where Course_id='0109' and grade between 80 and 90
11.查询平均成绩都在80分以上的学生学号及平均成绩。(group by)
select Stu_id 学号,avg(grade) 平均分
from StudentGrade
group by Stu_id
having avg(grade)>=80
1.此次实验中得到的哪些经验教训、疑难问题?有什么心得或总结?
要知道简单查询的基本语法,熟练于心,还得上机操练,多写多练,方法不唯一。