如何使用sql編寫查詢語句用於查詢學生的各科成績

2022-02-14 08:19:08 字數 3293 閱讀 2131

1樓:我tm不管

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)

費了好勁,真麻煩,頭一次搞這個東西

2樓:厙曼冬

select a.mname,

sum(case when b.fname='語文' then c.成績 else 0 end) as '語文' ,

sum(case when b.fname='數學' then c.成績 else 0 end) as '數學',

sum(case when b.fname='英語' then c.成績 else 0 end) as '英語',

sum(case when b.fname='歷史' then c.成績 else 0 end) as '歷史'

from member a,f b,score c

where a.mid=c.mid and c.fid=b.fid

group by mname

查詢每個學生的各科成績sql語句

怎麼用sql語句查詢每個學生選修的課程名及其成績?

3樓:消逝的風

select 姓名,課程名,成績 from (課程名所在的表名 c join 成績所在的表名 s on c.課程號=s.課程號) join 學生資訊表 on s.

學號=學生資訊表.學號 ;

具體的例子:

select sname,cname,grade from student st left join(score s left join course c on s.cno=c.cno)

on st.sno=s.sno;

4樓:趙星宇

查詢選修了全部課程的學生姓名

:student 是學生表  course 是選課表  sc 是課程表

select sname

from student

where not exists

(select *

from course

where not exists

(select *

from sc

where sno =student.snoand cno=course.cno)

查詢每個學生的各科成績sql語句怎樣實現?

sql語句查詢檢視90分以上學生的成績.課程名稱.學生姓名怎麼寫

5樓:匿名使用者

select 成績,課程名稱,姓名 from 成績,學生基本資訊,課程名稱 where學生基本資訊.學號=成績.學號 and 成績.

課程編號=課程名稱.課程編號 and 成績》90

6樓:匿名使用者

語句寫出,列出成績不在60分到90分之間的學生姓名和所在專業。 22.用sql 26.用sql 語句寫出,查詢沒有考試成績的學生學號。 21.select 姓名,

7樓:匿名使用者

select * from (

select * from (

select * from sc where score>90) s1 inner join stu st on s1.sno=st.sno) s2 inner join 課程

bai表

du c

on s2.cno=c.cno

上面查詢的列zhi

自己dao可以內

調一下。容

試寫乙個sql語句,查詢出各科成績最高分的同學(包括學生號,科目與成績) 5

8樓:來自五美景園有樂趣的紅狼

select 學生號 ,科目 ,成績 max(成績)from 要查的表

group by 科目

注: max(成績)是成績 的別名 我把成績當作最高成績來做了

9樓:

建立乙個表

use [test]

go/****** 物件: table [dbo].[student] 指令碼日期: 10/17/2010 13:23:40 ******/

set ansi_nulls on

goset quoted_identifier on

goset ansi_padding on

gocreate table [dbo].[student](

[id] [int] null,

[name] [varchar](50) collate chinese_prc_ci_as null,

[course] [varchar](50) collate chinese_prc_ci_as null,

[score] [int] null

) on [primary]

goset ansi_padding off

select id,course,score from student where id in (select id from student where score in (select max(score) from student group by course))

10樓:小飛虎

可以用 select top 1 * from 表 order by 成績 desc

也可以用 select * from 表 where 成績=(select max(成績) from 表)

11樓:匿名使用者

select top 10 學生號列,成績列,科目列 from 表 where 科目列=科目 order by id desc,成績 desc

某個科目的前面最高分的10位同學

以此類推。。。。。要查哪個科目就改下科目就行了

資料庫中,如何使用t-sql語句查詢每門課程的總成績和平均成績

如何查詢MySQL中查詢慢的SQL語句

問題我們有乙個 sql,用於找到沒有主鍵 唯一鍵的表,但是在 mysql 上執行特別慢,怎麼辦?實驗我們搭建乙個 mysql 的環境,此處省略搭建步驟。寫個簡單的指令碼,製造一批帶主鍵和不帶主鍵的表 執行一下指令碼 現在執行以下 sql 看看效果 執行了 感覺是非常慢了。現在用一下 dba 三板斧,...

SQL語句查尋問題,sql查詢問題

這樣的問題,說明你平時不學。基礎書上都有,最簡單的select from where 如果不會,問老師能更直接些。基礎的東西要吃透。sql的複雜查詢問題 關於sql查詢的問題 一 你的 select a.from test1 a,test2 b 將被系統看作是這樣的乙個查詢 從表a中取出第1條記錄,...

sql語句查詢並統計查詢結果數量

可以通過count函式來實現。sqlone select from tablename1 where id 5 此語句查詢出來多條記錄,之後看做乙個新的表。sqltwo select conut from select from tablename1 where id 5 as tablename2...