请教SQL Server 高手

请教SQL Server 高手,第1张

--一

--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成绩查询系统数据查询等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9764263.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存