优化M有School 第三章
来源:互联网 发布:linux有几个版本 编辑:程序博客网 时间:2024/06/11 19:25
declare @low intset @low=1;declare @row intset @row=1;declare @xing nvarchar(8)set @xing='☆'while(@low<=5)beginwhile(@row<=@low)beginprint @xingset @xing+='☆'set @row+=1endprint ''set @low+=1end--上机二declare @age intselect @age=FLOOR(DATEDIFF(DY,Birthday,GETDATE())/365) from Student where StudentNo='23268'select @age as 年龄 ,studentName as 姓名 from Student where StudentNo='23268'--上机三DECLARE @name nvarchar(50) --姓名DECLARE @score decimal(5,2) --分数SELECT TOP 1 @score=StudentResult,@name=stu.StudentName FROM Result r INNER JOIN Student stu ON r.StudentNo=stu.StudentNo INNER JOIN Subject sub ON r.SubjectNo=sub.SubjectNo WHERE r.StudentNo='20012' AND sub.SubjectName='Java Logic' ORDER BY ExamDate DESCPRINT '学生姓名:' + @nameIF (@score > 85) PRINT '考试等级:' + '优秀'ELSE IF (@score > 70) PRINT '考试等级:' + '良好'ELSE IF (@score > 60) PRINT '考试等级:' + '中等'ELSE PRINT '考试等级:' + '差'--上级四DECLARE @date datetime --考试时间DECLARE @subNO int --课程编号SELECT @subNO=SubjectNo FROM SubjectWHERE SubjectName='C# OOP'SELECT @date=max(ExamDate) FROM Result WHERE SubjectNo=@subNOPRINT '加分前学生的考试成绩如下:'SELECT 学号=StudentNo,成绩等级=CASE WHEN StudentResult BETWEEN 0 AND 59 THEN '你要努力了!!!' WHEN StudentResult BETWEEN 60 AND 69 THEN '★' WHEN StudentResult BETWEEN 70 AND 79 THEN '★★' WHEN StudentResult BETWEEN 80 AND 89 THEN '★★★' ElSE '★★★★' END FROM Result WHERE SubjectNo=@subNO AND ExamDate=@date DECLARE @n intWHILE(1=1) --条件永远成立 BEGIN SELECT @n=COUNT(*) FROM Result WHERE SubjectNo=@subNO AND ExamDate=@date AND StudentResult<60 --统计不及格人数 IF (@n>0) UPDATE Result SET StudentResult=StudentResult+2 FROM Result WHERE SubjectNo=@subNO AND ExamDate=@date AND StudentResult<=98 --每人加2分 ELSE BREAK --退出循环 END--上级五USE MySchool GOIF EXISTS(SELECT * FROM sysobjects WHERE name ='Admin')DROP TABLE AdminGOCREATE TABLE Admin( --创建表[LoginId] [nvarchar](50) NOT NULL,[LoginPwd] [nvarchar](50) NOT NULL)ALTER TABLE Admin --添加主健约束ADD CONSTRAINT PK_Admin PRIMARY KEY (LoginId)GOINSERT INTO Admin([LoginId],[LoginPwd]) VALUES('TEST1','123') --插入数据INSERT INTO Admin([LoginId],[LoginPwd]) VALUES('TEST2','123456') --插入数据GOUPDATE Admin SET [LoginPwd]='1234567' WHERE [LoginId]='TEST2' --更新数据GO--简答题--简答二DECLARE @i intDECLARE @j intDECLARE @str varchar(110)SET @i=1WHILE @i<10 BEGIN SET @j=1 SET @str='' WHILE @j<=@i BEGIN SET @str= @str+CAST(@i AS varchar(1))+' x '+CAST(@j AS varchar(1))+'='+CAST(@i*@j AS varchar(2))+' ' SET @j=@j+1 END print @str SET @i=@i+1 END --简答三 Print '罚款记录表情况如下:'Select RID ,BID ,PDate,Amount, 罚款类型=case When PType=1 then '损坏' When Ptype=2 then '延期' When Ptype=3 then '丢失'End from Penalty--简答四declare @count intdeclare @TDay datetimeset @TDay=DateAdd(dd,1,getDate()) --获取明天的日期select @count=count(*) from Borrow where willDate<@TDayIF(@count=0) BEGIN print '明天没有应归还的图书' EndElseIF(@count<10)BEGIN Update Borrow set WillDate=DateAdd(dd,2,WillDate) WHERE willDate<@TDayENDElse BEGIN print '还书总数量:'SELECT book.BName, reader.RName, borrow.LendDate FROM Book as book,Reader as reader,Borrow as borrow WHERE book.BID=borrow.BID and reader.RID=borrow.RID and borrow.willDate<@TDayprint @countEnd--简答五DECLARE @count int,@totalMoney moneySELECT @count=sum(BCount) FROM bookSELECT @totalMoney=sum(BCount*Price) FROM bookprint '现存数量'+convert(varchar(10),@count)print '总金额'+convert(varchar(10),@totalMoney)IF @count<10000 print '现有图书不足一万本,还需要继续购置书籍' ELSE print '现有图书在一万本以上,需要管理员加强图书管理'
1 0
- 优化M有School 第三章
- 优化M有School 第四章课后3 借阅事务
- 优化M有School 第四章课后4 罚款事务
- school
- 优化数据库第三章
- poj 3266 Cow School (splay 斜率优化)
- 第三十三章续:用1 x 2的多米诺骨牌填满M x N的矩形有多少种方案
- S2 优化数据库 第三章
- S2 优化数据库 第三章
- 优化MySchool 第三章作业
- 《(1997)Machine Learning [CMU+T.M. Mitchell] 》读书笔记 - 第三章
- 第三章 目标文件里有什么
- Essential c++ 第三章代码(有疑问)
- 【ProgrammingMicrosoftAzureServiceFabric】第三章: 有状态服务
- 第三章:如何优化广告提高点击率
- 【书评:Oracle查询优化改写】第三章
- java程序性能优化第三章
- Unity3d 游戏场景优化 第三章
- 浅谈MyBatis 之 集成SpringMVC(六)
- webpack 配置项选项详解
- html5 and css
- LDA主题模型和Gibbs Sampling 学习整理
- Flume与Kafka整合
- 优化M有School 第三章
- 访问者模式
- Linux下使用NMON监控、分析系统性能
- SQL高级 第八章 酒店管理系统
- 两道Javascript-前端面试题
- Maven仓库详解
- 蓝桥杯 摆动序列(df
- 新浪微博分享调用
- opencv 霍夫变换检测圆