sql学生考试成绩分析表
A. 解答 SQL 数据库 学生表 成绩表
你答案表的结构有很多问题
Hi我我给你从新写一个吧
B. 用sql语句建表 表名学生成绩表
createtable学生成绩表
(
学号回varchar(4)notnull,
课程答号varchar(3)notnull,
成绩decimal(4,1),
primarykey(学号,课程号)
)
C. sql查询学生成绩表最高分数
以下这些英文都是学生表的常用的,希望你能看懂
1,查询选了所有课的学生版
select
sname
from
student
where
snum=(select
sc.snum
from
sc
where
sc.snum=student.snum
group
by
sc.snum
having
count(*)=n)
2.查询不及格学权生姓名和挂科的科目
select
sname,cname
from
student,sc,course
where
sc.snum=student.snum
and
sc.cnum=course.cnum
and
score<60
3.查询每个课程选修人数和挂科人数(这个比较复杂)
select
cname,count(不及格)as
选修人数,sum(不及格)as
不及格人数
from(select
cname,case
when
score<60
then
1
else
0
end
as
不及格
from
sc,student,course
where
sc.cnum=course.cnum
and
sc.snum=student.snum)as
abc
group
by
cname
D. 查询每个学生的各科成绩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)。
E. 数据库中有学生属性表,与学生成绩表如下图所示。按要求写出SQL语句 表:学生属性表
这个问题很好解决抄
1查询数学袭成绩优秀(成绩)80)的学生的学号
select 学生ID from 学生成绩表 where 数学成绩>=80
2查询有挂科学生的姓名
select b.姓名 from 学生成绩表 a
left join 学生属性表 b on a.学生ID=b.学生ID
where (数学成绩<60 or 英语成绩<60 or 体育成绩<60 or C++<60)
3查询C++成绩合格学生的人数
select count(学生ID) from 学生成绩表 where C++ >=60
F. 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两个聚合函数实现的)。
分组查询是一种最基本的查询,现在的主流数据库都支持它。所以每一个学习数据库的人都应该很好的理解它。
G. 如何用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语句的时候,要在英文环境下输入。否则可能会出现代码不识别。
H. 数据库有2张表,一张学生表,一张成绩表,查询某学生的成绩,sql语言怎么写
连接查询。根据2张表关联的字段查询,比如学生表有学生ID字段,成绩表如果也有这个版ID,则
select * from [学生表权] inner join [成绩表] on [学生表].ID=[成绩表].学生ID
mysql和sql server 数据库中 sql 语言应该都是一样的,但是函数。。。特有的肯定不一样的,
sql(结构化查询语言)语言都是一样的,你可以网络下sql看看到底什么意思
I. 求学生表和成绩表的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
J. 学生表 学科表 成绩表 获取学生成绩的sql语句
采用以下思路试试
select,sum([成绩])from[学生表]a
leftjoin[成绩表]bona.[学号]=b.[学号]
groupbya.[姓名]
请采纳!