學生成績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