‘壹’ 按照人名查出学生的各科成绩以及总成绩并按总成绩排名的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实现按总成绩倒叙排列。
(1)sql查询2名学生的英语成绩扩展阅读
上述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'
‘贰’ 查询学生总成绩的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]
‘叁’ SQL怎样同时查询多个学生多个科目的成绩
这个用到行转列
SELECT
`姓名编号`, MAX( CASE
WHEN course='项目1' THEN
"内容" END
) AS '项目1', MAX( CASE
WHEN course='项目2' THEN
"内容" END
) AS '项目2',
MAX( CASE
WHEN course='项目3' THEN
"内容" END
) AS '项目3' FROM
studentGROUP BY `姓名编号`
你可以参考下网站:网页链接
‘肆’ 简单SQL语句,查询成绩
select * from xs
inner join
(
select km,max(fs) as fs from xs group by km
)w
on xs.km = w.km and xs.fs = w.fs
这样行不?凭想象写的,请参考
‘伍’ 如何使用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)
费了好劲,真麻烦,头一次搞这个东西
‘陆’ 查询每个学生的各科成绩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)。
‘柒’ SQL 查询各门成绩前两名的学生
你先抽一条数据来反过来理解这条SQL
比如 你表格里的第一条:陈六、政治
SQL里的子句你把t.subject 替换成 我们这条数据真实的值,就可以看出来
select top 2 stu_id from stu_score where subject='政治' order by score desc
就是查询我当前这条记录对应的subject(政治)里,成绩最高的两条数据的 stu_id。
我再提供一种写法给你
select*from(
selectt1.*,row_number()over()asfidfromstu_score)wherefid<=2
这种写法主要是row_number() over(partition by subject order by score desc),
意思是:我按照subject 分组,根据score排序从大到小,分别标出序号fid。也就是我把不同subject的成绩按从大到小排序,然后外层再取各自的前两名
‘捌’ sql简单查询语句
1、首先打开数据库,建立好表。
‘玖’ 查询数学成绩高于英语成绩的学生姓名及该生的数学、英语成绩
其中姓名定义为长度为18的字符数组,其它数据成员类型为整型,数学总成绩、英语总成绩和人数为静态数据成员,函数成员包括构造函数、显示基本数据函数(ShowBase)和显示静态数据函数(ShowStatic)。
其中构造函数由已知参数姓名(nm)、学号(nu)、数学成绩(math)和英语成绩(english)构造对象,显示基本数据函数用于显示学生的姓名、学号、数学成绩、英语成绩,显示静态数据函数为静态成员函数,用于显示人数,数学总成绩,英语总成绩。
要求所有数据成员为private访问权限,所有成员函数为public访问权限,在主函数中定义若干个学生对象,分别显示学生基本信息,以及显示学生人数,数学总成绩与英语总成绩。
代码:
#include"iostream"
using namespace std;
class student
{
private:
char name;
int num;
int mathScore;
int englishScore;
static int count;
static int mathTotalScore;
static int englishTotalScore;
public:
student(char *nm,int nu,int math,int english):num(nu),mathScore(math),englishScore(english){
strcpy(name,nm);
count++;
mathTotalScore+=mathScore;
englishTotalScore+=englishScore;
}
void bshow()
{
cout << name << " " << num << " " << mathScore << " " << englishScore << endl ;
}
static void show(){
cout << count << " " << mathTotalScore << " " << englishTotalScore << endl ;
};
};
int student::mathTotalScore=0;
int student::englishTotalScore=0;
int student::count=0;
void main()
{
student s("liu",1,60,60),t("pan",2,60,60);
s.bshow();
t.bshow();
student::show();
}
‘拾’ 如何使用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)
费了好劲,真麻烦,头一次搞这个东西