SQL语言在成绩管理中的应用

时间:2022-10-11 09:53:22

SQL语言在成绩管理中的应用

[摘要]随着目前大学生数目的不断增多,高校的成绩管理工作越来越复杂,手动统计成绩已经是天方夜谭,需要用计算机程序语言准确地进行统计,那么SQL就是最合适的语言之一,结合教务管理系统,准确地使用SQL语言可以方便准确地完成成绩处理分析工作。

[关键词]成绩分析 SQL语言

[中图分类号]F224.29 [文献标识码]A [文章编号]1009-5349(2014)09-0057-02

SQL(结构化查询语言)是一种数据库专用语言,无论是Oracle、MS SQL、Access还是其他大型公司的数据库,亦或是建立在大型主机或个人pc机上,都可以通过应用SQL语言来访问或是更新数据库的内容。由于SQL语言通用型强,在各个公司都具有通用性,所以易于学习和使用,也逐渐被各种数据库厂商应用,成为一种共通的标准查询语言。

目前各个高校几乎都购买了各种教务管理系统,他们是C/S或B/S模式的,教务管理系统会关系到学生的学籍、成绩、选课很多方面的内容,而且每个学校付给开发商的金额也不同,且开发商为了简化模式不会针对某个学校的情况去单独开发对单个学校的管理系统或管理软件,笔者学校购买的教务管理系统就不能实现学分遗留统计、遗留科目统计,更别提毕业资格审核的完成,只能通过SQL语言去实现这些功能,以下先简单地介绍一下SQL语句的基本功能。

一、SQL的基本语句

经常使用的SQL语句主要有以下几种:Select语句、Insert语句、Update语句和Delete语句。

(一)Select语句

1.语法格式

Select[Distinct][Top(数值)]字段列表From表名[Where条件]

Order By 排序字段名ASC|DESC][Group By 分组字段名][Having 筛选条件表达式]

2.Select语句的应用实例

①选取数据表中的全部数据:Select * From学生信息,这就是相当于将学生信息表中的数据全部提出来。

②选取数据表中指定字段的数据:Select学号From学生信息,这就相当于将学生信息从指定的表中提取出来。

③选取前若干条记录,且要求查询结果按降序排列:Select Top 10学号From成绩表,Order By成绩DESC,其中Top 10代表前十个数据的意思;Order by代表排序的意思,DESC代表降序的意思,所以整句化表现的就是取成绩在前十名的学号。

④根据特定条件选取数据表中的部分数据:Select * From学生信息,Where班级= '测控031',此处的where代表一个条件的筛选也就是代表班级为测控031的学生信息将全部提出来。

⑤按关键字查找记录:例如查询所有姓“李”的学生,“%”代表任意字符。Select * From学生信息,Where姓名Like‘李%'。

⑥查询符合某种条件的记录总数:Select Count(*)From学生信息,Where性别=‘男',此处count()为计数函数,本句的意思就是数男生的数目。

⑦计算学生的平均成绩:Select Avg(成绩)from成绩表,此处AVG函数便是求平均值的一个函数。

⑧组合查询:例如在“学生信息”表中只有“班级编号”字段,“班级名称”字段在“班级”表中,如果查询结果需要“学号、姓名、性别、班级名称”等字段,则需要从多个表中组合查询。SELECT dbo.学生信息.学号,dbo.学生信息.姓名,dbo.班级.班级名称,INNER JOIN dbo.班级 ON dbo.学生信息.班级编号=dbo.班级.班级编号。

(二)Insert语句

1.语法格式

Insert Into数据表名称(字段1,字段2, …),Values(字段值1, 字段值2, …)

2.Insert语句的应用实例

Insert Into学生信息(学号,姓名,性别,班级),Values(‘200703020128',‘唐丽',‘女',‘测控031'),本句的意思就是将新的数据信息添加到数据库中的。

(三)Update语句

1.语法格式

Update数据表名,Set字段1=字段值1,字段2=字段值2,[Where 条件]

2.Update语句的应用实例

Update学生信息,Set学号=‘200703020128',姓名=‘张文',性别=‘男',班级编号=‘2004030201',Where学号=‘200703020128',本句就是将数据库中学号为‘200703020128'的数据进行更新。

(四)Delete语句

1.语法格式

Delete From数据表名称[Where条件]。

2.Delete语句的应用实例

Delete From学生信息,Where学号=‘200703020128’,该句的意义就是删掉了学号为‘200703020128’的学生信息。

二、SQL语句的应用

本文以提取在校生挂科成绩的数据库程序为例来说明SQL语言的应用。

select BDInstitute.InstituteName as‘学院',

SMBasicInfo.StudentNo as‘学号',

SMBasicInfo.StudentName as‘姓名',

GRGrade.LessonInfoName as‘课程名称',

max(GRGrade.EffectiveGrade) as‘成绩',

以上这段程序将数据库表中的字段定义为新的字段以便可以更为直观的显示给大家。

from

BDClassInfo,

BDInstitute,

BDProfessionInfo,

以上这段程序便是在哪些表中可以找到这些数据。

where

BDClassInfo.BDClassInfoID=SMBasicInfo.BDClassInfoID

and BDClassInfo.BDProfessionInfoID=BDProfessionInfo.BDProfessionInfoID

and LCBeginLesson.TermNo=20131

and GRGrade.ExamProperty=‘正常'

and BDClassInfo.EntranceYear in (‘2012',‘2010',

‘2011',‘2013')

and GRGrade.CourseKind=‘选修'

and SMBasicInfo.StudentStatus=‘在籍在校'

以上就是where语句的各种限制条件比如说学籍状态为在籍在校、年级的筛选,等等。

group by

BDClassInfo.EntranceYear,

BDProfessionInfo.ProfessionInfoname,

SMBasicInfo.StudentNo,

SMBasicInfo.StudentName,

GRGrade.LessonInfoName

以上这段程序便是“Group By”的应用,从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”根据分组进行处理。

having max(GRGrade.EffectiveGrade)

order by

BDClassInfo.EntranceYear,

BDClassInfo.ClassInfoName,

GRGrade.ExamTermNo,

GRGrade.CourseKind,GRGrade.CreditHour desc

以上便是对全校学生不及格成绩进行提取的一个应用实例以便使大家更为清晰的理解。

三、结论

笔者应用SQL语句进行大学成绩信息进行分析和统计,当然每个学校的教学任务有所不同,有自己不同的特色,要根据自己学校情况再去考虑,对数据可以做一些简单的预处理

灵活地运用SQL语句,充分应用教务管理系统,才能更好地完成统计和分析工作。

上一篇:城建工程中防水混凝土施工工艺分析 下一篇:在非洲过“国庆”