----第三章上级练习一
--declare @a int
--set @a=1
--declare @b int
--set @b=1
--declare @c nvarchar(8)
--set @c='*'
--while(@a<=5)
--begin
--while(@b<=@a)
--begin
--print @c
--set @c+='*'
--set @b+=1
--end
--set @a+=1
--end
----上级二
--DECLARE @NO int -- 学号
--SET @NO = 3
--DECLARE @date datetime -- 出生日期
--DECLARE @year int -- 出生年份
---- 获得学号是20011的学生姓名和年龄
--SELECT StudentName 姓名,
-- FLOOR(DATEDIFF(DY, BornDate, GETDATE())/365) 年龄
-- FROM student WHERE StudentNo=@NO
---- 查询输出比学号是20011的学生大1岁和小1岁的学生信息
--SELECT @date=BornDate FROM Student -- 使用SELECT赋值
-- WHERE StudentNo=@NO
--SET @year = DATEPART(YY, @date)
--SELECT * FROM Student
-- WHERE DATEPART(YY,BornDate) = @year + 1
-- OR DATEPART(YY,BornDate) = @year - 1
--GO
----上机三
--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 DESC
--PRINT '学生姓名:' + @name
--IF (@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 Subject
--WHERE SubjectName='C# OOP'
--SELECT @date=max(ExamDate) FROM Result
--WHERE SubjectNo=@subNO
--PRINT '加分前学生的考试成绩如下:'
--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 int
--WHILE(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
--GO
--IF EXISTS(SELECT * FROM sysobjects WHERE name ='Admin')
-- DROP TABLE Admin
--GO
--CREATE TABLE Admin( --创建表
-- [LoginId] [nvarchar](50) NOT NULL,
-- [LoginPwd] [nvarchar](50) NOT NULL
--)
--ALTER TABLE Admin --添加主健约束
--ADD CONSTRAINT PK_Admin PRIMARY KEY (LoginId)
--GO
--INSERT INTO Admin([LoginId],[LoginPwd]) VALUES('TEST1','123') --插入数据
--INSERT INTO Admin([LoginId],[LoginPwd]) VALUES('TEST2','123456') --插入数据
--GO
--UPDATE Admin SET [LoginPwd]='1234567' WHERE [LoginId]='TEST2' --更新数据
--GO
----简答题
----简答二
--DECLARE @i int
--DECLARE @j int
--DECLARE @str varchar(110)
--SET @i=1
--WHILE @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 int
--declare @TDay datetime
--set @TDay=DateAdd(dd,1,getDate()) --获取明天的日期
--select @count=count(*) from Borrow where willDate<@TDay
--IF(@count=0)
-- BEGIN
-- print '明天没有应归还的图书'
-- End
--Else
-- IF(@count<10)
-- BEGIN
-- Update Borrow set WillDate=DateAdd(dd,2,WillDate) WHERE willDate<@TDay
-- END
-- Else
-- 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<@TDay
-- print @count
-- End
----简答五
--DECLARE @count int,@totalMoney money
--SELECT @count=sum(BCount) FROM book
--SELECT @totalMoney=sum(BCount*Price) FROM book
--print '现存数量'+convert(varchar(10),@count)
--print '总金额'+convert(varchar(10),@totalMoney)
--IF @count<10000
-- print '现有图书不足一万本,还需要继续购置书籍'
--ELSE
-- print '现有图书在一万本以上,需要管理员加强图书管
第三章 上机+简答
最新推荐文章于 2019-11-06 20:21:46 发布