use [master]
go
--校验数据库是否存在,若已存在则删除
if exists(select from Sysdatabases where name='test')
drop database [test]
go
--创建test数据库
Create DataBase [test]
on(Name='test',FileName='D:\个人编程学习\Data\testmdf',Size = 3mb,FileGrowth = 1mb)
Log On(Name = 'test_Log',FileName = 'D:\个人编程学习\Data\test_Logldf',Size = 1mb,FileGrowth = 1mb)
go
use [test]
go
--检验学生成绩表(stuscore)是否存在,若已存在则删除
if exists(Select From SysObjects Where Name = 'stuscore')
Drop Table [stuscore]
go
--创建学生成绩表(stuscore)
Create Table [stuscore]
(
[id] int IDENTITY(1,1) NOT NULL,
[name] [varchar](20) NOT NULL,
[subject] [varchar](20) NOT NULL,
[score] [varchar](20) NULL,
[stuid] [varchar](10) NULL,
CONSTRAINT [PK_stuscore] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
go
set IDENTITY_INSERT [dbo][stuscore] ON
insert into stuscore(id,name,subject,score,stuid) values
(1,'张三','数学','89','1'),
(2,'张三','语文','80','1'),
(3,'张三','英语','70','1'),
(4,'李四','数学','90','2'),
(5,'李四','语文','70','2'),
(6,'李四','英语','80','2');
set IDENTITY_INSERT [dbo][stuscore] OFF
---1 计算每个人的总成绩并排名(要求显示字段:姓名,总成绩)
select name,sum(cast(score as bigint)) as allscore from stuscore group by name order by allscore desc
---2 计算每个人的总成绩并排名(要求显示字段: 学号,姓名,总成绩)
select stuid,name,sum(cast(score as bigint)) as allscore from stuscore group by stuid,name order by allscore desc
---3 计算每个人单科的最高成绩(要求显示字段: 学号,姓名,课程,最高成绩)
SELECT t1stuid,t1name,t1subject,t1score from stuscore t1,(SELECT stuid,max(score) as maxscore from stuscore group by stuid) t2 where t1stuid=t2stuid and t1score=t2maxscore
---4 计算每个人的平均成绩(要求显示字段: 学号,姓名,平均成绩)
select distinct t1stuid,t1name,t2avgscore from stuscore t1,(select stuid,avg(cast(score as bigint)) as avgscore from stuscore group by stuid) t2 where t1stuid=t2stuid
---5 列出各门课程成绩最好的学生(要求显示字段: 学号,姓名,科目,成绩)
select t1stuid,t1name,t1subject,t2maxscore from stuscore t1,(select subject,max(score) as maxscore from stuscore group by subject) t2 where t1subject=t2subject and t1score=t2maxscore
---6 列出各门课程成绩最好的两位学生(要求显示字段: 学号,姓名,科目,成绩)
select distinct t1 from stuscore t1 where t1stuid in(select top 2 stuscorestuid from stuscore where subject = t1subject order by score desc)order by t1subject
---7 统计报表(要求显示字段: 学号,姓名,各科成绩,总分,平均成绩)
select stuid as 学号,name as 姓名,sum(case when subject='语文' then score else 0 end) as 语文,sum(case when subject='数学' then score else 0 end) as 数学,sum(case when subject='英语' then score else 0 end) as 英语,sum(cast(score as bigint)) as 总分,(sum(cast(score as bigint))/count()) as 平均分 from stuscore group by stuid,name order by 总分 desc
---8 列出各门课程的平均成绩(要求显示字段:课程,平均成绩)
select subject,avg(cast(score as bigint)) as avgscore from stuscore group by subject
---9 列出数学成绩的排名(要求显示字段:学号,姓名,成绩,排名)
select from stuscore where subject ='数学' order by score desc
---10 列出数学成绩在2-3名的学生(要求显示字段:学号,姓名,科目,成绩)
select t3 from(select top 2 t2 from (select top 3 name,subject,score,stuid from stuscore where subject='数学' order by score desc) t2 order by t2score) t3 order by t3score desc
---11 求出李四的数学成绩的排名
declare @tmp table(pm int,name varchar(50),score int,stuid int)
insert into @tmp select null,name,score,stuid from stuscore where subject='数学' order by score desc
declare @id int
set @id=0;
update @tmp set @id=@id+1,pm=@id
select from @tmp where name='李四'
---12 统计各科目及格人数
select subject,
(select count() from stuscore where score<60 and subject=t1subject) as 不及格,
(select count() from stuscore where score between 60 and 80 and subject=t1subject) as 良,
(select count() from stuscore where score >80 and subject=t1subject) as 优
from stuscore t1 group by subject
---13.统计如下:数学:张三(50分),李四(90分),王五(90分),赵六(76分)
declare @s varchar(1000)
set @s=''
select @s =@s+','+name+'('+convert(varchar(10),score)+'分)' from stuscore where subject='数学'
set @s=stuff(@s,1,1,'')
print '数学:'+@s
1 XYZ-计算机等级考试题库系统(二级VFP) 277 修正版
(1)精选500余道VFP笔试试题和30道上机试题,其中包括近两年全国计算机等级考试试题。(
>
也不算复杂吧,如果是SQL SERVER,我告诉你步骤吧。
1安装SQL SERVER,目前版本是2008,注意版本对应的 *** 作系统。
2安装完成后,在开始菜单打开SQL Server Management Studio,服务器名称默认,如果是空的,就输入一个 ,身份验证选择windows身份验证。
3登录后左侧菜单的菜单里找“数据库”,点开此节点后,在“数据库”菜单上点右键,选择“新建数据库”,点击后在d出的窗口信息里填写信息,填完后点确定,数据库就创建成功了,不过里面还没有表。
4新建表,点开你刚才建立的数据库后,找到“表”菜单,双击,然后在“表”菜单上点右键,选择“新建表”,输入你要填写的字段名,选择好类型,长度后,点击确定,就建好表了,这时再右键选中“表”菜单,选择“刷新”,刚才建立的表就可以显示出来了。
你应该总结出学生成绩查询需要几张表,我大概告诉你一下吧,最基本的3张,
1学生基本信息表
2学生考试科目表
3学生成绩表,这三张之间的关系你要是搞明白了,那学生成绩查询就不会有问题了。
新安装了 jdk 6 的程序员们也许会发现,除了传统的 bin、jre 等目录,jdk 6 新增了一个名为 db 的目录。这便是 java 6 的新成员:java db。这是一个纯 java 实现、开源的数据库管理系统(dbMS),源于 Apache 软件基金会(asf)名下的项目 Derby。它只有 2MB 大小,对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby 功能齐备,支持几乎大部分的数据库应用所需要的特性。更难能可贵的是,依托于 asf 强大的社区力量,Derby 得到了包括 ibm 和 Sun 等大公司以及全世界优秀程序员们的支持。这也难怪 Sun 公司会选择其 1022 版本纳入到 jdk 6 中,作为内嵌的数据库。这就好像为 jdk 注入了一股全新的活力:java 程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。在这一章中,我们将初窥 java db 的世界,来探究如何使用它编写出功能丰富的程序。
第一步,规划。规划阶段的主要任务是进行建立数据库的必要性及可行性分析。如系统调查(即对企业全面调查,画出组织层次图,以了企业组织结构),可行性分析,确定DBS(数据库系统)的总目标和制定项目开发计划。
第二步,需求分析。需求分析阶段应该对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的需求分析报告。这一阶段的工作只要有,分析用户活动,产生业务流程图;确定系统范围,产生体统范围图;分析用户活动涉及的数据,产生数据流程图;分析系统数据,产生数据字典。
第三步,概念设计。概念设计的目标是产生反应企业组织信息需求的数据库概念结构,即设计出独立与计算机硬件和DBMS(数据库管理系统)的概念模式。E-R模型是主要设计工具。
第四步,逻辑结构设计。其目的是把概念设计阶段设计好的全局E-R模式转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。
第五步,数据库的物理设计。对于给定的数据模型选取一个最适合应用应用环境的物理结构的过程。数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法,完全依赖于给定的硬件环境赫尔数据库产品。
第六步,数据库的实现。该阶段主要有3项工作:1建立实际数据库结构 2装入试验数据对应用程序进行调试 3装入实际数据,进入试运行状态。
第七步,数据库的运行与维护。数据库系统的正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始,该阶段有4项任务:1维护数据库的安全性与完整性 2监测并改善数据库运行性能 3根据用户要求对数据库现有功能进行扩充 4及时改正运行中发现的系统错误
以上就是关于数据库:1000万条数据,查询成绩最高者,求帮忙设计并查询全部的内容,包括:数据库:1000万条数据,查询成绩最高者,求帮忙设计并查询、VFP中设计一个查询,输出学生成绩数据库中的人数.怎么做、怎么用sql数据库建一个学生信息表我要做一个成绩查询系统,可以实现学生成绩的查询,急啊!!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)