第三章 上机+简答

----第三章上级练习一
--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 '现有图书在一万本以上,需要管理员加强图书管

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值