• 数据库高级数据库学习--上机练习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        

     

  • 相关阅读:
    orale数据库的SQL查询
    pl/sql 过程 函数(写一个过程,输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金))
    游标练习
    oracle 中使用 pl/sql代码块
    oracle 中怎样实现分页和去处重复
    小米的登陆页面
    tomcat建立双向https安全连接
    简单标签处理过程
    java反射机制
    tomcat配置加密的连接器https
  • 原文地址:https://www.cnblogs.com/caiyishuai/p/10831637.html
Copyright © 2020-2023  润新知