--一
--1
create database test
create table TestInfo(TestID int, Stage int, TestName varchar(50))
create table TestScore(TestID int, Class varchar(50), StudentName varchar(20), Score float)
--2
select stage, count(1) 次数 from testinfo group by stage
--3
select class, avg(score) 平均成绩 from testscore where class = 'S1161' group by class
--4
update testscore set studentname = '张丽华' where studentname = '张立华'
--5
insert testscore
values(1, 'S1162', '杨飞', 80)
--6
select aclass 班级, astudentname 姓名, btestname 内部测试名称, ascore 成绩 from testscore a
join testinfo b on atestid = btestid where ascore < 60
--二
--1
select amname 姓名,
max(case when bfname = '语文' then cscore else 0 end) 语文,
max(case when bfname = '数学' then cscore else 0 end) 数学,
max(case when bfname = '英语' then cscore else 0 end) 英语,
max(case when bfname = '历史' then cscore else 0 end) 历史
from 学生表 a left join 成绩表 c on amid = cmid
join 课程表 b on bfid = cfid
group by amname
--2
select amname 姓名, bfname 课程, cscore 成绩
from 学生表 a join 成绩表 c on amid = cmid
join 课程表 b on bfid = cfid
where cscore < 70
--3
select amname 姓名, avg(bscore) 平均分 from 学生表 a join 成绩表 b on amid = bmid
order by 平均分 desc
--4
create procedure usp1 @cishu int
as
select amname 姓名, amid 学号 from 学生表 a join 成绩表 b on amid = bmid
group by amname, amid
having count(1) = @cishu
创建表的代码
CREATE TABLE `student` (
`id`nvarchar(10) NOT NULL, 代表学号
`sname` char(10) default NULL, 学生姓名
`password` char(10) default NULL, 学生密码
`sclass` char(20) default NULL, 所在的班级
`smajor` char(20) default NULL, 所学的专业
PRIMARY KEY (`id`)
)
用的时候不要写汉字就行了
晕。。不要听上面乱讲的,这是简单的问题,哪还要钱啊,你在数据库里就用数字保存就行了,然后输出的时候做个判断,比如
<%
if rs("成绩")>60 then
responsewrite rs("成绩")
else
responsewrite "补考"
responsewrite rs("补考成绩")
end if
%>
具体的排版你就自己排吧
select from stu_score order by 语文 desc, 数学;
ORDER BY子句用于根据一个或多个列以升序或降序对数据进行排序。 默认情况下,一些数据库排序查询结果按升序排列。
语法:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, columnN] [ASC | DESC];
可以在ORDER BY子句中使用多个列。 确保您使用的任何列进行排序,该列应该在列表中。
扩展资料:
常用的 T-SQL 语言:
1、分组:
group by在order by 前面。
select cname from first group by cname;
按照姓名对表格分组。
2、having 子句对分组结果再选择:
select cname from first group by cname having cname like '张%'
3、转换数据类型函数:
convert(a,b):强制类型转换
a 是要转换的数据类型,b 是被转换的数据类型
declare @number intset @number = 3 select convert(char(1),@number) as 转换后
4、聚合函数
avg,max,sum,count()
select count() as 行数,avg(convert(int,cage)) as 平均年龄,max(cbirthday) as 最晚出生年月,sum(cid) as id的和 from first
以上就是关于请教SQL Server 高手全部的内容,包括:请教SQL Server 高手、1 有一个“成绩管理”数据库,其中有一个“学生”表,结构如下: 列名 数据类型 长度 允许空 学号 nvarcha、关于ASP成绩查询系统数据查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)