當前位置:首頁 » 考試成績 » 學生成績表sql語句

學生成績表sql語句

發布時間: 2021-03-06 10:42:30

⑴ 有一個成績表,用SQL語句,如何計算一個學生的平均成績啊

你好,可先按學號分組,然後用分組函數avg求,如下:
select 學號 , avg(分數) from 成績表
group by 學號

⑵ SQL語句求一個學生表的學生成績的平均成績

問題:假設有張學生成績表(tb)如下:
姓名
課程
分數
張三
語文
74
張三
數學
83
張三
物理
93
李四
語文
74
李四
數學
84
李四
物理
94
想變成(得到如下結果):
姓名
語文
數學
物理
----
----
----
----
李四
74
84
94
張三
74
83
93
-------------------
*/

create
table
tb(姓名
varchar(10)
,
課程
varchar(10)
,
分數
int)
insert
into
tb
values('張三'
,
'語文'
,
74)
insert
into
tb
values('張三'
,
'數學'
,
83)
insert
into
tb
values('張三'
,
'物理'
,
93)
insert
into
tb
values('李四'
,
'語文'
,
74)
insert
into
tb
values('李四'
,
'數學'
,
84)
insert
into
tb
values('李四'
,
'物理'
,
94)
go

--sql
server
2000
靜態sql,指課程只有語文、數學、物理這三門課程。(以下同)
select
姓名
as
姓名
,
max(case
課程
when
'語文'
then
分數
else
0
end)
語文,
max(case
課程
when
'數學'
then
分數
else
0
end)
數學,
max(case
課程
when
'物理'
then
分數
else
0
end)
物理
from
tb
group
by
姓名

--sql
server
2000
動態sql,指課程不止語文、數學、物理這三門課程。(以下同)
declare
@sql
varchar(8000)
set
@sql
=
'select
姓名
'
select
@sql
=
@sql
+
'
,
max(case
課程
when
'''
+
課程
+
'''
then
分數
else
0
end)
['
+
課程
+
']'
from
(select
distinct
課程
from
tb)
as
a
set
@sql
=
@sql
+
'
from
tb
group
by
姓名'
exec(@sql)

--sql
server
2005
靜態sql。
select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
(語文,數學,物理))
b

--sql
server
2005
動態sql。
declare
@sql
varchar(8000)
select
@sql
=
isnull(@sql
+
'],['
,
'')
+
課程
from
tb
group
by
課程
set
@sql
=
'['
+
@sql
+
']'
exec
('select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
('
+
@sql
+
'))
b')

---------------------------------

/*
問題:在上述結果的基礎上加平均分,總分,得到如下結果:
姓名
語文
數學
物理
平均分
總分
----
----
----
----
------
----
李四
74
84
94
84.00
252
張三
74
83
93
83.33
250
*/

--sql
server
2000
靜態sql。
select
姓名
姓名,
max(case
課程
when
'語文'
then
分數
else
0
end)
語文,
max(case
課程
when
'數學'
then
分數
else
0
end)
數學,
max(case
課程
when
'物理'
then
分數
else
0
end)
物理,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分,
sum(分數)
總分
from
tb
group
by
姓名

--sql
server
2000
動態sql。
declare
@sql
varchar(8000)
set
@sql
=
'select
姓名
'
select
@sql
=
@sql
+
'
,
max(case
課程
when
'''
+
課程
+
'''
then
分數
else
0
end)
['
+
課程
+
']'
from
(select
distinct
課程
from
tb)
as
a
set
@sql
=
@sql
+
'
,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分
,
sum(分數)
總分
from
tb
group
by
姓名'
exec(@sql)

--sql
server
2005
靜態sql。
select
m.*
,
n.平均分
,
n.總分
from
(select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
(語文,數學,物理))
b)
m,
(select
姓名
,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分
,
sum(分數)
總分
from
tb
group
by
姓名)
n
where
m.姓名
=
n.姓名

--sql
server
2005
動態sql。
declare
@sql
varchar(8000)
select
@sql
=
isnull(@sql
+
','
,
'')
+
課程
from
tb
group
by
課程
exec
('select
m.*
,
n.平均分
,
n.總分
from
(select
*
from
(select
*
from
tb)
a
pivot
(max(分數)
for
課程
in
('
+
@sql
+
'))
b)
m
,
(select
姓名
,
cast(avg(分數*1.0)
as
decimal(18,2))
平均分
,
sum(分數)
總分
from
tb
group
by
姓名)
n
where
m.姓名
=
n.姓名')

drop
table
tb

⑶ 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

⑷ 用sql語句建表 表名學生成績表

createtable學生成績表
(
學號回varchar(4)notnull,
課程答號varchar(3)notnull,
成績decimal(4,1),
primarykey(學號,課程號)
)

⑸ 資料庫有2張表,一張學生表,一張成績表,查詢某學生的成績,sql語言怎麼寫

連接查詢。根據2張表關聯的欄位查詢,比如學生表有學生ID欄位,成績表如果也有這個版ID,則
select * from [學生表權] inner join [成績表] on [學生表].ID=[成績表].學生ID

mysql和sql server 資料庫中 sql 語言應該都是一樣的,但是函數。。。特有的肯定不一樣的,
sql(結構化查詢語言)語言都是一樣的,你可以網路下sql看看到底什麼意思

⑹ 資料庫中有學生屬性表,與學生成績表如下圖所示。按要求寫出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

⑺ 求學生表和成績表的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

⑻ 怎樣編寫SQL語句求平均成績

1、打復開資料庫軟體,制附加資料庫,右鍵選擇新建查詢。

⑼ 如何用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語句的時候,要在英文環境下輸入。否則可能會出現代碼不識別。

⑽ 查詢每個學生的各科成績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)。

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919