学生成绩sql查询系统
1. 数据库设计问题(学生成绩查询系统)
一个表就可以了吧?2个主键
2. 怎么查询 两科成绩都大于80的学生信息(sql)
select * from t_testscore group by name having min(score)>80;
t_testscore 是被查询的表名,name是学生姓名,score是成绩。
HAVING 子句可以让我们筛选分组后的各组版数据。
按名字分组,权然后每个学生最低的分数都大于80,即可得到两科成绩都大于80的学生信息。
(2)学生成绩sql查询系统扩展阅读:
数据记录统计函数:
AVG(字段名) 得出一个表格栏平均值
COUNT(*;字段名) 对数据行数的统计或对某一栏有值的数据行数统计
MAX(字段名) 取得一个表格栏最大的值
MIN(字段名) 取得一个表格栏最小的值
SUM(字段名) 把数据栏的值相加
引用以上函数的方法:
sql="select sum(字段名) as 别名 from 数据表 where 条件表达式"
set rs=conn.excute(sql)
用 rs("别名") 获取统计的值,其它函数运用同上。
查询去除重复值:select distinct * from table1
3. 如何用sql语句查出学生表成绩小于60为不及格60-80为良好80-90为优秀
select name,case when 成绩<60 then 不及格 when 成绩>=60 and 成绩<80 then 良好 when 成绩>=0 and 成绩<90 then 优秀 end as 成绩情况 ,from 表名。
注意,在输入sql语句的时候,要在英文环境下输入。否则可能会出现代码不识别。
4. SQL查询数据库中最高分学生的信息, 怎么写
t1 学生信息表
编号 姓名
t2 学生成绩表
编号 课程编号 学生编号 成绩版
t3 课程信权息表
编号 课程
select t1.* , t3.课程, t.成绩
from t1 left join (select min(编号) 编号, 课程编号, max(成绩) 成绩
from t2 group by 课程编号) t on t1.编号 = t.学生编号
left join t3 on t2.课程编号 = t3.编号
5. 如何用SQL建立一个学生成绩管理系统数据库
首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,启动SQL Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在弹出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:学生表(student) (学号(sno) 普通编码定长字符类型,长度7,主码,姓名(sname) 普通编码定长字符类型,长度8,非空,性别(ssex) 统一编码定长字符类型,长度1,年龄(sage) 微整型,所在系(sdept) 统一编码可变长字符类型,长度20)课程表(course) (课程号(cno) 普通编码定长字符类型,长度6,主码,课程名(cname) 统一编码定长字符类型,长度10,非空,学分(credit) 小整型,学期(semester) 小整型)修课表(sc)(学号(sno) 普通编码定长字符类型,长度7,主码,外码课程号(cno) 普通编码定长字符类型,长度6,主码,外码成绩(grade) 小整型,修课类别(type)普通编码定长字符类型,长度4)则创建表的语句分别为:create table Student(Sno char(7) primary key,Sname char(8) not null,Ssex nchar(1),Sage tinyint,Sdept nvarchar(20))create table Course(Cno char(6) primary key,Cname nchar(10) not null,Credit smallint,Semester smallint)create table SC(Sno char(7),Cno char(6),Grade smallint,Type char(4),primary key(Sno,Cno),Foreign key(Sno) References Student (Sno),Foreign key(Cno) References Course (Cno))各表的结构大体如此,如有变化可自行修改。 以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。
SQL语言,是结构化查询语言(Structured Query Language)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
6. 数据库sql学生选修课系统,使用查询功能查询学生成绩,只有有优秀良好
select成绩,count(1)as人数from成绩表where成绩in('优秀','良好')groupby成绩
7. sql查询某个学生的平均成绩的排名
1
2
3
4
5
6
7
8
9
10
11
select s.dname,s.sname,s.avggrade
from
(select t.dname,t.sname,t.avggrade,row_number() over (partition by t.dname order by t.avggrade desc) rn
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t) s
where s.rn=1
包含并列的情况,如果一个学院有两个第一,两个人都显示,以上为 sqlserver或oracle写法,其他数据库执行不了
-------------补充-----------
给你个通用的
select s2.*
from
(select t.dname,max(t.avggrade) avggrade
from
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) t
group by t.dname) s1,
(select a.name dname,b.name sname,avg(c.grade) avggrade
from
department a,student b,takes c
where a.department_id=b.department_id
and b.student_id=c.student_id
group by a.name,b.name) s2
where s1.dname=s2.dname
and s1.avggrade=s2.avggrade
8. SQL查询学生成绩
select a.studentId,a.name,a.sex,c.cid,b.cname,c.score
into TableA
from Student a, Course b, Grade c
where a.studentId=c.studentId and c.cid=b.cid
select a.studentId,a.name,a.sex,
sum(case cname when "语文" then score else 0 end) as 语文,
sum(case cname when "数学" then score else 0 end) as 数学,
sum(case cname when "英语" then score else 0 end) as 英语,
sum(case cname when "哲学内" then score else 0 end) as 哲学,
sum(score)*1.0/4 as "平均成绩容"
9. 如何用SQL建立一个学生成绩管理系统数据库
首先在SQL中利用企业管理器或向导建立一个数据库,命名为学生管理系统,
启动SQL Sever服务,运行企业管理器,单击要创建数据库的服务器左边的加号图标,展开树形目录,在“数据库”节点上右击鼠标,在弹出的快捷菜单中选则“新建数据库”命令,然后按照提示一步步建立数据库,不再详细叙述。
假设学生管理系统下有三个表,分别为学生表、课程表、修课表,表的结构分别如下:
学生表(student) (
学号(sno) 普通编码定长字符类型,长度7,主码,
姓名(sname) 普通编码定长字符类型,长度8,非空,
性别(ssex) 统一编码定长字符类型,长度1,
年龄(sage) 微整型,
所在系(sdept) 统一编码可变长字符类型,长度20
)
课程表(course) (
课程号(cno) 普通编码定长字符类型,长度6,主码,
课程名(cname) 统一编码定长字符类型,长度10,非空,
学分(credit) 小整型,
学期(semester) 小整型
)
修课表(sc)(
学号(sno) 普通编码定长字符类型,长度7,主码,外码
课程号(cno) 普通编码定长字符类型,长度6,主码,外码
成绩(grade) 小整型,
修课类别(type)普通编码定长字符类型,长度4
)
则创建表的语句分别为:
create table Student(
Sno char(7) primary key,
Sname char(8) not null,
Ssex nchar(1),
Sage tinyint,
Sdept nvarchar(20)
)
create table Course(
Cno char(6) primary key,
Cname nchar(10) not null,
Credit smallint,
Semester smallint
)
create table SC(
Sno char(7),
Cno char(6),
Grade smallint,
Type char(4),
primary key(Sno,Cno),
Foreign key(Sno) References Student (Sno),
Foreign key(Cno) References Course (Cno)
)
各表的结构大体如此,如有变化可自行修改。 以上数据库和表就基本建立好了,然后就可以通过数据导入或SQL语句等向数据库中添加学生的各项具体数据了。
10. 怎么用sql数据库建一个学生信息表我要做一个成绩查询系统,可以实现学生成绩的查询,急啊!!
也不算复杂吧,如果是SQL SERVER,我告诉你步骤吧。
1.安装SQL SERVER,目前版本是2008,注意版本对应的操作专系统。
2.安装完成后,在属开始菜单打开SQL Server Management Studio,服务器名称默认,如果是空的,就输入一个. ,身份验证选择windows身份验证。
3.登录后左侧菜单的菜单里找“数据库”,点开此节点后,在“数据库”菜单上点右键,选择“新建数据库”,点击后在弹出的窗口信息里填写信息,填完后点确定,数据库就创建成功了,不过里面还没有表。
4.新建表,点开你刚才建立的数据库后,找到“表”菜单,双击,然后在“表”菜单上点右键,选择“新建表”,输入你要填写的字段名,选择好类型,长度后,点击确定,就建好表了,这时再右键选中“表”菜单,选择“刷新”,刚才建立的表就可以显示出来了。
你应该总结出学生成绩查询需要几张表,我大概告诉你一下吧,最基本的3张,
1.学生基本信息表
2.学生考试科目表
3学生成绩表,这三张之间的关系你要是搞明白了,那学生成绩查询就不会有问题了。