数据库高级数据库学习--上机练习5(Transact-SQL)

数据库高级数据库学习--上机练习5(Transact-SQL)

上机练习5

启动SQL Server 2008中的 SQL Server Management Studio,恢复数据库ClassDB; 采用Transact-SQL程序设计完成以下练习:

 

1、    求1到100之间所有能被3整除但不能被5整除的整数和;

DECLARE @i int, @sum int
SET @i = 1
SET @sum = 0
WHILE @i<=100
BEGIN
    if ((@i % 3) = 0) AND ((@i % 5) != 0)
            SET @sum = @sum + @i
    SET @i = @i + 1
END
PRINT '1到之间所有能被整除但不能被整除的整数和为' + str(@sum)


2、    将学号为‘1401’的学生的姓名信息按如下格式显示;
1401【李勇,23ALTER TABLE Student ALTER COLUMN Sno CHAR(10);
INSERT INTO Student(Sno,Sname,Sage) VALUES('14001','李勇','23')
DECLARE @sno int, @sname char(5), @age int
SET @sno = (SELECT Sno FROM Student WHERE Sno='14001')
SET @sname = (SELECT Sname FROM Student WHERE Sno='14001')
SET @age = (SELECT Sage FROM Student WHERE Sno='14001')
PRINT ltrim(str(@sno)) + ''+ rtrim(ltrim(@sname)) + ',' + ltrim(str(@age)) + ''


3、    查询课程号为“1”的课程上课人数,如果人数超过30人,则显示相应选课人数以及“进行分班上课”,否则显示相应人数以及“人数合理”;

DECLARE @record int
SELECT @record = COUNT(DISTINCT Sno) FROM Score WHERE Cno = '0001'
IF @record>30
    BEGIN
        PRINT  '该班有'+LTRIM(STR(@record))+''
        PRINT '进行分班上课'
    END
ELSE
BEGIN
    PRINT '该班有'+LTRIM(STR(@record))+''
    PRINT '人数合理'
END


4、    编写程序完成选课成绩表查询:如果”数据库”课程的平均成绩高于80分,则显示“平均分优秀”,否则显示“平均分低”。

DECLARE @agv float(24)
SELECT @agv = AVG(CScore) FROM Score WHERE Cno = (
                SELECT Cno FROM Course WHERE Cname='数据库技术');
IF @agv>80
    BEGIN
        PRINT '平均分优秀' 
    END
ELSE
    BEGIN
        PRINT '平均分低' 
    END        

 

 

 

posted on 2019-05-08 14:26 蔡军帅_ACM 阅读(...) 评论(...) 编辑 收藏
posted on 2019-05-08 14:26  蔡军帅  阅读(179)  评论(0编辑  收藏  举报