第1个回答 2012-03-30
2.select *
from 成绩记录视图 WHERE 课程号 NOT IN('0040930','0020257','0140624') and 成绩 BETWEEN 61 AND 65
3.select * from 学生记录视图 where datediff(year,出生日期,getdate())>27
5.select 学院,count(学号)
from 学生记录视图 group by 学院 having count(学号)>200
6.select sum(成绩) FROM 成绩记录视图 where 学号='2005214060'
7.select AVG(成绩) FROM 成绩记录视图 where 课程号='0120729'
8.select MAX(成绩),MIN(成绩),MAX(成绩)-MIN(成绩) FROM 成绩记录视图 where 课程号='0120729'
9.select top count(*)/100 *
FROM 学生记录视图
ORDER BY 入学成绩 DESC
10.select *
from 学生记录视图
where (month(getdate())=month(出生日期)) and (day(出生日期) between day(getdate()) and day(getdate())+7)
第十题太模糊,没有表结构只能做这么多。
手机弄真慢,我是提交一题,赶紧修改再添加一题。希望前面的你都看到了。
如果有哪些句子不理解,我可以逐条解释。本回答被提问者采纳
第2个回答 2012-03-30
题目来看,通过视图实现2--10的查询:、
IF EXISTS (select name from sysobjects
where type = 'V' and name = '学生查询专用视图) --名字你自己随便
DROP VIEW 学生查询专用视图GO
CREATE VIEW 学生查询专用视图
AS
---- 这里写上你的Sql文。假设这个Sql文为DDD。DDD根据2---10的需求分别是:
2:Select * From 成绩表 WHERE 课程号 NOT IN('0040930','0020257','0140624')
And 成绩 BETWEEN 61 AND 65
3:Select * From 学生名单 Where Datediff(Year,出生日期,Getdate())>27
4:Select Count(*) From 学生名单 Where Substring(出生日期,5,4) = Substring(Rtrim(Convert(varchar,Getdate(),112)),5,4)
5:Select 学院,Count(学号) from 学生名单 group by 学院 having count(学号)>200
6:Select Sum(成绩) FROM 成绩表 Where 学号='2005214060'
7:Select AVG(成绩) FROM 成绩表 Where 课程号='0120729'
8:Select MAX(成绩),MIN(成绩),MAX(成绩)-MIN(成绩) FROM 成绩表 Where 课程号='0120729'
9:Select top count(*)/100 * FROM 学生名单 ORDER BY 入学成绩 DESC
10:自己是啥标示未知。自己想着写。