1.计算1-100之间的偶数及奇数的和

 
  
  1. (1)  
  2. declare @num int ,@num1 int ,@num2 int 
  3. select @num = 1 ,@num1 =0 , @num2 = 0  
  4. while(@num<101)  
  5. begin   
  6.      if (@num%2=0)  
  7.           set @num1= @num1+@num  
  8.      else 
  9.           set @num2 =@num2 +@num2  
  10.      set @num = @num +1  
  11. end   
  12. print '偶数的和' + convert (char,@num1) + '奇数的和' + convert(char,@num2)  
  13. go 

2.计算2000到3000的闰年

 
  
  1. declare @year int 
  2. set @year =2000  
  3. while(@year<3001)  
  4. begin 
  5.      if(@year % 4 = 0 and @year % 100 !=0 or @year %400 = 0)  
  6.          begin   
  7.              set @year 
  8.          end 
  9.              set @year = @year + 1  
  10. end 
  11. print @year 
  12. go 

3.--阶层

 
  
  1. declare @unm int , @sum int 
  2. select @num=1,@sum = 0  
  3. while(@num<7)  
  4. begin   
  5.      set @sum * = @sum 
  6.      set @sum = @num + 1  
  7. end   
  8. pfint @sum 
  9. go 

4

 
  
  1. create database students  
  2. go   
  3.  
  4. use students  
  5. go  
  6.  
  7. --字段名称  数据类型    说明  
  8. --stuID char(10)    学生编号,主键  
  9. --stuName   Varchar(10) 学生名称  
  10. --major Varchar(50) 专业  
  11.  
  12. create table student  
  13. (  
  14.   stuID char(10) not null,  
  15.   stuName varchar(50),  
  16.   major varchar(50)  
  17. )  
  18. go  
  19.  
  20. select * from student   
  21.  
  22. alter table student  
  23.      add constraint FK_student_stuID primary key(stuID)  
  24. go  
  25.  
  26. --添加数据  
  27. insert into student values('1001','琳琳','计算机')  
  28. insert into student values('1002','白杨','计算机')  
  29. insert into student values('1003','程倩','工商管理')  
  30. insert into student values('1004','娜娜','数学')  
  31. insert into student values('1005','五月','电子商务')  
  32. insert into student values('1006','唐月','电子商务')  
  33. go  
  34.  
  35. --     字段名称 数据类型    说明  
  36. --BID   char(10)    图书编号,主键  
  37. --title char(50)    书名  
  38. --author    char(20)    作者  
  39.  
  40. create table Book  
  41. (  
  42.  BID char(10) not null,  
  43.  title char(20),  
  44.  author char(20)  
  45. )  
  46. go  
  47.  
  48. select * from Book   
  49.  
  50. alter table Book  
  51.     add constraint pk_book_BID primary key(BID)  
  52. go  
  53.  
  54. --添加数据  
  55. insert into book values('B001','红楼梦','施耐庵')  
  56. insert into book values('B002','回忆','陈侨情')  
  57. insert into book values('B003','一点一滴','许文')  
  58. insert into book values('B004','梦醒了','徐浩')  
  59. insert into book values('B005','回到现实','郭林琳')  
  60. insert into book values('B006','幻想','安如意')  
  61. go  
  62.  
  63. --    字段名称  数据类型    说明  
  64. --borrowID  char(10)    借书编号,主键  
  65. --stuID char(10)    学生编号,外键  
  66. --BID   char(10)    图书编号,外键  
  67. --T_time    datetime    借书日期  
  68. --B_time    datetime    还书日期  
  69.  
  70.  
  71. create table borrow  
  72. (  
  73.  borrowID char(10) NOT NULL,  
  74.  stuID char(10),  
  75.  BID char(10),  
  76.  T_time datetime,  
  77.  B_time datetime  
  78. )  
  79. go  
  80.  
  81. select * from borrow   
  82.  
  83. --添加数据  
  84. insert into borrow values('b01','1001','B001','2007-12-26',null)  
  85. insert into borrow values('b02','1002','B002','2008-12-26','2008-05-26')  
  86. insert into borrow values('b03','1003','B003','2008-12-26','2009-05-12')  
  87. insert into borrow values('b04','1004','B004','2012-12-26','2013-04-10')  
  88. insert into borrow values('b05','1005','B005','2007-12-26',null)  
  89. insert into borrow values('b06','1006','B006','2001-02-26',null)  
  90. go  
  91.  
  92. --添加外键约束  
  93. alter table borrow  
  94.     add constraint fk_borrow_Book foreign key(BID) REFERENCES book(BID)  
  95. go  
  96.  
  97.  
  98. alter table borrow  
  99.     add constraint fk_borrow_student foreign key(stuID) REFERENCES student(stuID)  
  100. go  
  101.  
  102. --查看  
  103. select * from borrow  
  104. select * from student  
  105. select * from book  
  106. select * from borrow  
  107.  
  108. --(1)查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、  
  109. --学生名称、图书编号、图书名称、借出日期;参考查询结果如下图所示:  
  110. declare @time datetime,@stuID char(10),@BID char(10),@student varchar(20),@stuName char 
  111. begin 
  112.    select @stuID=stuID from student where major='计算机' 
  113.    select @BID=BID from Book  
  114.    select @stuName= stuName from student  
  115.   begin 
  116.   select stuID=@stuID,BID=@BID,T_time,title from borrow inner join  Book on borrow.BID=Book.BID  where T_time >'2007-12-15' AND T_time<'2008-1-8' 
  117.    end 
  118. end 
  119. go  
  120.  
  121. --(2)查询所有借过图书的学生编号、学生名称、专业;参考查询结果如下图所示:  
  122.  
  123. declare @stuids varchar(10)  
  124. begin   
  125.    select @stuids = student .stuID  from student inner join BORROW on student.stuID=BORROW.stuID   
  126.    select  @stuids as'学生编号',Student.stuName as'学生名称',student.major as'专业' from student  
  127.     inner join BORROW on BORROW.stuID=@stuids   
  128. end      
  129.  select student.stuID as'学生编号',student.stuName as'学生名称',student.major as'专业'   
  130.  from borrow inner join student on borrow.stuID=student.stuID where borrow.T_time is not null 
  131.  go  
  132.    
  133. --(3)查询借过作者为“安意如”的图书的  
  134. --学生姓名、图书名称、借出日期、归还日期;参考查询结果如下图所示  
  135.  
  136. select student.stuName as'学生姓名',Book.title as'图书名称',BORROW.T_time as'借出日期',borrow.B_time as'归还日期'   
  137. from student inner join borrow on student.stuID=BORROW.stuID inner join Book on 
  138.  Book.BID=borrow.BID where Book.author='安如意' 
  139.    
  140.    
  141. --(4)查询目前借书但未归还图书的学生名称及未还图书数量;参考查询结果如下图所示:  
  142. select student.stuName as '学生名称',count(*) as '未还图书数量'from student inner join borrow on   
  143. student.stuID=borrow.stuID where BORROW.T_time is not null and BORROW.B_time is null   
  144. group by borrow.stuID ,student.stuName