A. 查询每个学生的各科成绩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)。
B. 查询学生总成绩的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]
C. 求写出SQL查询oracle数据库学生表里的每个班级每个课程的总成绩
selectcourseas'成绩总和',
sum(casewhenclass='JSD1701'thenscoreelse0end)as'jsd1701',
sum(casewhenclass='JSD1702'thenscoreelse0end)as'jsd1702',
sum(casewhenclass='JSD1703'thenscoreelse0end)as'jsd1703',
sum(casewhenclass='JSD1704'thenscoreelse0end)as'jsd1704'
fromclass_score_sumgroupbycourse;
D. sql,查询每门课程最高分的学生的学号,课程号,成绩。再一张表里
select 学号, 课程号 , 成绩 from 表A ( select 课程号 ,max(成绩) AS mCJ from 表A group by 课程号) B where 表A课程号=B.课程号 AND 表A.成绩 =B.mCJ
E. SQL数据库,三个表,查询学生某一门课程的成绩
SELECT迅兄做a.S#AS学号,a.SnameAS姓名,c.scoreAS物理成绩亩衡
FROMStudenta,Courseb,SCc
WHERE尘信a.S#=c.S#ANDb.C#=c.C#ANDb.Cname='物理'
F. 用SQL语言查询数据库开发基础的最高成绩.最低成绩.以及平均成绩
select max(成绩字段) as 最高成绩,min(成绩字段) as 最低成绩, avg(成绩字段) as 平闭蚂均成绩
from 成绩表
where 课程野没名字颂态纳段='数据库开发基础'
G. SQL数据库命令,求救查询平均成绩!万分感谢!
SQL数据库命令,求救查询平均成绩!
select 学号, avg(分数) from grade group by 学号 having count(distinct 课程编号) > 1
select 学号 as u_编号, 姓名 as u_名称
from student_info where 姓名 like '张%'
union
select 课程编号 as u_编号, 课程名称 as u_名称
from curriculum
H. SQL语句查询每个学生的学号、姓名、平均成绩、最高成绩和最低成绩
select 学生表.学号,学生表.姓名,
average(成绩表.成绩) as 平均成绩,
max(成绩表.成绩) as 最高成绩,
min(成绩表.成绩) as 最低成绩
from 学生表 left join 成绩表 on 学生表.学号=成绩表.学号
order by 学生表.学号
成绩表可换成语文、数学、英语等,查询结果就是各个学生相应课程的平均成绩、历史最高成绩、历史最低成绩.
I. sql语句科目表学生表和成绩表的查询
每科的总成绩?查询它干什么?要查的话这样查:
SELECT 科目表.KUMUID,KUMUName,SUM(CHENJI) AS SUM_CHENJI,AVG(CHENJI) AS AVG_CHENJI
FROM 科目表,成绩表
WHERE 科目表.KUMUID=成绩表.KUMUID
GROUP BY 科目表.KUMUID,KUMUName
由于是查每科的总成绩和平均分,所以和学生没有关系,不用关联学生表
----------------------------------------------------------------
不过我怀疑你是不是想查每个学生的总成绩和平均分,是这样查的:
SELECT 学生表.UID,UName,SUM(CHENJI) AS SUM_CHENJI,AVG(CHENJI) AS AVG_CHENJI
FROM 学生表,成绩表
WHERE 学生表.UID=成绩表.UID
GROUP BY UID,UName
=========================================================
对于楼主的补充的回答:
你所要的SQL语句我已经写了,这个查询由于是查询每个科目的总成绩,所以不需要查询学生的姓名,所以不应关联学生表。只需要用成绩表关联科目表(目的是查询出科目的名称)。然后直接使用分组汇总(就是用 GROUP BY 子句和SUM、AVG两个聚合函数实现的)。
分组查询是一种最基本的查询,现在的主流数据库都支持它。所以每一个学习数据库的人都应该很好的理解它。