and Sdept!='CS'
用聚合函数实现:
select Sno,Sname from Student where Sage>( select min(Sage) from Student where Sdept='CS') and Sdept!='CS'
7.检索学生的学号、姓名、学习课程名及课程成绩。 T-SQL语句:
8.检索选修3门以上课程的学生的学号、总成绩。 T-SQL语句:
select Sno,sum(Grade) '总成绩' from SC group by Sno having Count(*)>3
9.检索多于2名学生选修的课程号及平均成绩。 T-SQL语句:
select Cno,avg(Grade) '平均成绩' from SC group by Cno having Count(*)>2
(三)流程控制语句
1.如果Student表中有20岁的学生,把该学生的学号,姓名和性别查询出来,否则输出“没有20岁的学生”。写出T-SQL语句:(使用if...else语句)
if exists(select * from Student where Sage=20) select Sno,Sname,Sage from Student where Sage=20 else
print '没有20岁的学生!'
2.使用While语句求1到100之间的累加和,输出结果。写出T-SQL语句:
declare @sum int,@count int select @sum=0,@count=1 while @count<=100 begin
set @sum=@sum+@count set @count=@count+1 end
print @sum
(四)用户自定义函数的应用
定义一个用户自定义函数Score_Rechange,将成绩从百分制转化为五级记分制。将该用户定义函数用在查询每个学生的成绩中,给出五级记分制的成绩。写出T-SQL语句:
CREATE FUNCTION Score_ReChange(@score tinyint) RETURNS char(10) AS BEGIN RETURN CASE
WHEN @score>=90 THEN '优秀'
38
WHEN @score>=80 AND @score<90 THEN '良好' WHEN @score>=70 AND @score<80 THEN '中等' WHEN @score>=60 AND @score<70 THEN '及格' ELSE '不及格' END End
执行自定义函数:
SELECT Student.Sno,Sname,dbo.Score_ReChange(Grade) '五级成绩' FROM Student,SC
WHERE Student.Sno=SC.Sno
四、实验要求
(1)硬件设备:奔腾II或奔腾II以上计算机,局域网。 (2)软件环境:WINDOWS 9X/NT、WINDOWS SERVER、WINDOWS XP、SQL SERVER 2000中文版企业版或标准版。
(3)实验课前预习,课后及时完成实验内容。
(4)实验过程及记录按题目格式要求填写在代码清单中。
五、代码清单
39
40
六、实验中出现的问题及解决的方法
41
七、思考讨论题或体会或对改进实验的建议
42