sql查询成绩
A. sql,查询每门课程最高分的学生的学号,课程号,成绩。再一张表里
1、首先在打开的sql中,查看Market数据库中供应商来自哪些州的哪些城市,如下图所示。
B. 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 "平均成绩"
C. 查询每个学生的各科成绩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)。
D. 如何使用sql编写查询语句 用于查询学生的 各科成绩
declare
@sql
varchar(8000)
select
@sql='select
a.mname
as
学生姓名'
select
@sql=@sql+',sum(case
c.fname
when
'''+fname+'''
then
b.score
else
null
end
)as
'+fname
from
f
select
@sql=@sql+'
from
member
a
left
join
score
b
on
a.mid=b.mid
left
join
f
c
on
b.fid=c.fid
group
by
a.mname'
print
@sql
exec
(@sql)
费了好劲,真麻烦,头一次搞这个东西
E. 可不可以用一条SQL语句查询多人各自成绩的总和
查询多人各自成绩的总和sql语句如下:
select name,SUM(score)
from test2
group by name
按姓名分组,查看每个学生的优良中差统计:
SELECT sname, count(snum) 总数,
sum(case when snum<60 then 1 else 0 end) AS 不合格,
sum(case when snum>=60 AND snum<70 then 1 else 0 end) AS 中,
sum(case when snum>=70 AND snum< 90 then 1 else 0 end) AS 良,
sum(case when snum>=90 then 1 else 0 end) AS 优
FROM test.Score
group by sname
;
(5)sql查询成绩扩展阅读
SQL中Group By的使用:
“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理。
示例:
select 类别, sum(数量) as 数量之和
from A
group by 类别
这段代码实际上就是分类汇总。
在Access中不可以使用“order by 数量之和 desc”,但在SQL Server中则可以。
需要注意的一点,在select指定的字段要么就要包含在Group By语句的后面,作为分组的依据;要么就要被包含在聚合函数中。
F. 简单SQL语句,查询成绩
select a.ID,a.姓名,b.科目,b.分数 from xs a,(select 科目,max(分数) 分数 from xs group by 科目) b where a.科目=b.科目 and a.分数=b.分数
G. sql语句查询成绩最高的学生
select * from 学生表 where 学生id in (select 学生id from 分数表 where 分数值 = (select Max(分数字段) from 分数表)),这样查询即可。
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语句是什么
不知道你的表结构是什么啊?
例如表的字段有姓名、课程、成绩的话
每人的总成绩:SELECT 姓名,SUM(成绩) FROM 表名 GROUP BY 姓名
每人的平均成绩:SELECT 姓名,SUM(成绩)/COUNT(*) FROM 表名 GROUP BY 姓名
每人的课程门数:SELECT 姓名,COUNT(*) FROM 表名 GROUP BY 姓名
J. sql查询最高分和最低分
最高分 select * from student where 分数= ( SELECT max(分数) FROM [student] )最低分select * from student where 分数= ( SELECT min(分数) FROM [student] )