SQL语言在数据库中的应用:查询学生平均分与最高分

需积分: 31 2 下载量 140 浏览量 更新于2024-07-12 收藏 1.12MB PPT 举报
该资源主要介绍了SQL语言在数据库中的应用,特别是如何利用SQL查询特定课程的学生平均成绩和最高分数。SQL是关系数据库的标准语言,具有综合统一、高度非过程化、面向集合操作和灵活的使用方式等特点。在SQL的发展历程中,经历了多次标准化,如SQL86、SQL89、SQL92和SQL3。在实际应用中,如Microsoft SQL Server 2000中使用的是Transact-SQL。 内容详解: SQL(Structured Query Language)是一种用于管理关系数据库的语言,其功能涵盖了数据定义、数据操作和数据控制等多个方面。在例子中,我们看到SQL被用来查询特定课程(例如1号课程)的学生平均成绩和最高分数: 1. 计算1号课程的学生平均成绩: ```sql SELECT AVG(Grade) FROM SC WHERE Cno = '1'; ``` 这个查询使用了`AVG()`函数,它返回指定列(这里是`Grade`)的平均值。`FROM SC`指定了数据来源,`WHERE Cno = '1'`是条件子句,限制了只考虑Cno为1的记录。 2. 查询选修1号课程的学生最高分数: ```sql SELECT MAX(Grade) FROM SC WHERE Cno = '1'; ``` 这个查询使用了`MAX()`函数,它返回指定列(`Grade`)的最大值。同样,`FROM SC`和`WHERE Cno = '1'`限制了查询范围。 在SQL语言中,还有其他关键组成部分: - 数据定义语言(DDL):负责创建、修改和删除数据库中的对象,如表、视图、索引等。例如,`CREATE TABLE`用来创建新表,`ALTER TABLE`用于修改表结构,`DROP TABLE`则用于删除表。 - 数据操作语言(DML):处理数据的插入、更新和删除。例如,`INSERT INTO`用于插入新记录,`UPDATE`用于修改现有记录,`DELETE FROM`则用于删除记录。 - 数据控制语言(DCL):管理数据库的访问权限和安全性,如`GRANT`和`REVOKE`命令用于授予或撤销用户的权限。 SQL还支持嵌入式和自含式两种使用方式,嵌入式SQL将SQL语句插入到高级编程语言中,而自含式SQL常用于交互式的数据库操作。 SQL作为一种强大的语言,使得用户能够高效地管理和操作数据库,无论是进行简单的查询还是复杂的分析,都显得得心应手。
2018-10-13 上传
纯C语言学生成绩管理系统(以包含文件的形式写的),结构体,链表,数组,以下是main.c #include #include #include #define m 3/*宏定义m的值为3*/ struct node/*链表初始化*/ { char name[20]; int no; float score[m]; float sum; float avg; struct node *next; }; char ch[m+4][20]={{"学号"},{"姓名"},{"语文"},{"数学"},{"英语"},{"总分"},{"平均分"}};/*定义并初始化一个全局二维字符数组*/ #include "save.c"/*包含保存文件*/ #include "read.c"/*包含读取文件*/ #include "output.c"/*包含打印文件*/ #include "set.c"/*包含录入文件*/ #include "demand.c"/*包含查询文件*/ #include "sort.c"/*包含排序文件*/ #include "modified.c"/*包含修改文件*/ #include "add.c"/*包含添加文件*/ #include "del.c"/*包含删除文件*/ void main() { int n; printf("\n\t\t\t欢迎使用学生成绩管理系统\n\n"); printf("\t\t\t\t\t\t制 作: XIA XIA\n"); do { printf("\n\n1:学生成绩录入,并保存\n"); printf("2:学生成绩查询\n"); printf("3:学生成绩的排序\n"); printf("4:学生成绩的修改\n"); printf("5:学生成绩的打印\n"); printf("6:学生信息的添加\n"); printf("7:学生信息的删除\n"); printf("0:退出学生成绩管理系统\n\n\n"); printf("输入你要执行操作的相应序号\n"); scanf("%d",&n);/*输入相就的操作的序号*/ switch (n) { case 1: set();break;/*调用录入函数*/ case 2: demand();break;/*调用查询函数*/ case 3: sort();break;/*调用排序函数*/ case 4: modified();break;/*调用修改函数*/ case 5: output();break;/*调用打印函数*/ case 6: add();break;/*调用添加函数*/ case 7: del();break;/*调用删除函数*/ case 0: printf("正在退出学生成绩管理系统......\n");exit(0);/*直到输入“0”退出学生成绩管理系统*/ default:printf("输入错误码,请重新输入\n"); } }while(1); }