学生成绩sql
A. SQL求每个学生平均成绩
select student.学号,student.姓名, course.课程名,(select avg(sc.成绩) from sc where sc.学号=student.学号) as 平均成绩 from student inner join sc on student.学号=sc.学号 inner join course on sc.课程号=course.课程号
B. 求学生表和成绩表的sql语句
select t.name,avg(c.score),max(c.score),min(c.score) from t_score c right join t_student t GROUP BY t.student_id,c.item_id
C. sql语言,有一个成绩单表,已知学生姓名,如何查询名次
1、创建测复试表,
create table test_score(name varchar2(20), score number);
D. 每个学生有不同成绩,sql查询最高成绩的排名
1.每个学生可以是参加了一次或者多次的考试,对吧?
2.你是使用什么数据库?版MySQL?Oracle?SQLServer?
3.若学生中权最高的成绩都是相同的分数,如何排名?是给相同的名次还是依旧随机增序的方式排序?
E. 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 "平均成绩容"
F. sql语句查询横排成绩表中成绩最好的学生姓名、科目和成绩
/*
让我们假设 这个表叫ExamResults.
name - 姓名
subjects - 科目内
grades - 成绩容
*/
--then the query is as following.
select
er1.name, er1.subjects, er1.grades
from ExamResults as er1, ExamResults as er2
where er1.name = er2.name and er1.grades > er2.grades
G. 查询每个学生的各科成绩sql语句
1、查询每个学生的各科成绩sql语句:
select a.studentid,a.name,a.sex,v1.score as '语文',v2.score as '数学', v3.score as '英语',v4.score
as ‘哲学’, (v1.score+v2.score+v3.score+v4.score)/4 as ‘平均成绩’ from Stuednt a
left join
(select studentid,score from grade where cid=(select cid from course where cname='语文'))as v1
on a.studentid=v1.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='数学'))as v2
on a.studentid=v2.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='英语'))as v3
on a.studentid=v3.studentid
left join
(select studentid,score from grade where cid=(select cid from course where cname='哲学'))as v4
on a.studentid=v4.studentid
order by a.studentid
2、sql数据库介绍:
(1)SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出"做什么"的命令,"怎么做"是不用使用者考虑的。
(2)SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
(3)SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
(4)在SQL中,关系模式(模式)称为"基本表"(base table);存储模式(内模式)称为"存储文件"(stored file);子模式(外模式)称为"视图"(view);元组称为"行"(row);属性称为"列"(column)。
H. 查询学生总成绩的sql语句怎么编写
select 学生.学号 as 姓名, sum(成绩.分数) as 总分
from 学生
left join 成绩 on 成绩.学号=学生.学号
group by 学生.学号
sql语句专
更新:update table1 set field1=value1 where 范围
查找属:select * from table1 where field1 like '%value1%' (所有包含'value1'这个模式的字符串)
排序:select * from table1 order by field1,field2 [desc]
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1[separator]
I. 按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句
按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句示例如下:
selectA.name ,
(selectB.scorefromtable_scoreBwhereB.type='数学'andA.id=B.id) as数学 ,
(selectB.scorefromtable_scoreBwhereB.type='语文'andA.id=B.id) as语文,
(selectB.scorefromtable_scoreBwhereB.type='英语'andA.id=B.id)as英语,
(selectSUM(B.score)fromtable_scoreBwhereA.id=B.id)assum_score
fromtable_studentAorderbysum_scoreDESC
以上sql语句首先把学生表和成绩表联合查出每个学生的数学、语文、英语成绩,然后通过selectSUM(B.score)fromtable_scoreBwhereA.id=B.id查出每个学生的总成绩。
最后orderbysum_scoreDESC实现按总成绩倒叙排列。
(9)学生成绩sql扩展阅读
上述sql语句重点是对as关键字的使用- Alias(别名),通过使用 SQL,可以为列名称和表名称指定别名(Alias)。
表的 SQL Alias 语法
SELECT column_name(s) FROM table_name AS alias_name;
列的 SQL Alias 语法
SELECT column_name AS alias_name FROM table_name;
Alias 实例: 使用表名称别名
假设我们有两个表分别是:"Persons" 和 "Proct_Orders"。我们分别为它们指定别名 "p" 和 "po"。
现在,我们希望列出 "John Adams" 的所有定单。
我们可以使用下面的 SELECT 语句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Proct_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John'
J. sql如何统计全部学生的分数
---第个学员的成绩
select 学号,名称, isnull(语文,0) + isnull(数学,0) + isnull(英语,0) 总成绩 from a left join b on a.学号=b.学号
--各科总成绩
select sum(语文),sum(数学),sum(英语) from b
--总成绩
select sum(语文)+sum(数学)+sum(英语) from b