1樓:sql的藝術
select
a.sno 學號,a.sname 姓名,a.sdept 系名,c.cname 課程名稱,b.maxgrade 成績
from
student a
inner join (select cno,max(sno) sno,max(grade) maxgrade from sc group by cno) b on a.sno=b.sno
inner join course c on b.con=c.cno
2樓:匿名使用者
select student.sno,student.sname,student.sdept,
course.cname,t.maxgrade from
student,course,
(select s.sno,c.sdept,s.cno,c.maxgrade
from sc s,student st,
(select a.sdept,b.cno,max(b.grade) as maxgrade
from student a,sc b where a.sno=b.sno
group by a.sdept,b.cno) c
where s.sno=st.sno and st.sdept=c.sdept and
s.grade=c.maxgrade) t where student.sno=t.sno
and course.cno=t.cno order by course.cname,student.sdept;
上述語句已經測試通過。**思路是:
學生表與成績表基於學號進行連線獲取每個學號所在系名,然後用院系和課程號對成績表分組彙總,求得每個院系、每個課程的最高得分(結果集c,含系名、課程號和最高分)。然後用結果集c再次與成績表、學生表進行比對,篩選出獲得每個系、每個課程的最高分的學號幷包含課程號和系名(結果集t)。最後t通過連線獲取學生表中的學生姓名、課程表中的課程名完成最後輸出。
3樓:me孤魂
因為不知道3個表的具體結果只能推測3個表的關聯情況學生表student 的學號sno 和成績表sc 的學號sno關聯課程表course的課程cno和成績表sc 的課程cno關聯首先獲得sc表中每門課程的最高成績,然後跟sc關聯獲得其他資訊,在分別去學生表,課程表關聯,獲得具體的資訊
語句如下
select a.sno,c.sname,c.
sdept,d.cno,b.grade from sc a,(select cno,max(grade) grade from sc group by cno) b,student c,coursed d
where a.cno=b.grade
and a.sno=c.sno
and a.cno=d.cno
sql sever 2008r2查詢各系各科成績最高分的學生的學號,姓名,系名,課程名稱,成績
4樓:sql的藝術
select
a.sno 學號,a.sname 姓名,a.sdept 系名,c.cname 課程名稱,b.maxgrade 成績
from
student a
inner join (select cno,max(sno) sno,max(grade) maxgrade from sc group by cno) b on a.sno=b.sno
inner join course c on b.con=c.cno
5樓:匿名使用者
select student.sno,student.sname,student.sdept,
course.cname,t.maxgrade from
student,course,
(select s.sno,c.sdept,s.cno,c.maxgrade
from sc s,student st,
(select a.sdept,b.cno,max(b.grade) as maxgrade
from student a,sc b where a.sno=b.sno
group by a.sdept,b.cno) c
where s.sno=st.sno and st.sdept=c.sdept and
s.grade=c.maxgrade) t where student.sno=t.sno
and course.cno=t.cno order by course.cname,student.sdept;
上述語句已經測試通過。**思路是:
學生表與成績表基於學號進行連線獲取每個學號所在系名,然後用院系和課程號對成績表分組彙總,求得每個院系、每個課程的最高得分(結果集c,含系名、課程號和最高分)。然後用結果集c再次與成績表、學生表進行比對,篩選出獲得每個系、每個課程的最高分的學號幷包含課程號和系名(結果集t)。最後t通過連線獲取學生表中的學生姓名、課程表中的課程名完成最後輸出。
6樓:匿名使用者
好的,這個涉及到分組排序子查詢等
用sql命令建立一個名為“v單科最高分”的檢視,用於查詢每門課程的最高分的學生學號、姓名、課程號、成績 5
7樓:匿名使用者
首先要復找出最高課程的分數,制然後再根據分數,找出最高的學號。樓上的兩位,語法錯誤。
create view v單科最高分 as
select a.學號, b.姓名, a.課程號, c.課程名, a.成績
(select a.* from xs_kc a, (select 課程號, max(成績) 成績 from xs_kc group by 課程號) b
where a.課程號 = b.課程號 and a.成績=b.成績) a, xsqk b, kc c
where a.學號 = b.學號 and b.課程號 = c.課程號
8樓:匿名使用者
create view 'v單科最高du
分'as
select b.學號
zhidao,b.姓名,a.課程號,a.成績專from (select 學號,課程號,max(成績) as 成績,學分屬 from xs_kc group by 課程號) a,
xsqk b
where a.學號=b.學號
9樓:匿名使用者
create view v單科最高分
asbegin
select xs_kc.學號,xsqk.姓名,xs_kc.課程號,max(xs_kc.成績
版權) as 成績
from xs_kc on xs_kc.學號 = xsqk.學號group by xs_kc.課程號end
使用sqlserver2019的查詢分析器時執行緩慢請問
你是怎麼使用sql 2000的?通過系統dns連線嗎?那樣的話速度是非常慢,在查詢分析器就比較快了.如果實在不行,建議改用mysql,只有47m,感覺比sql 2000好多了 sql server 2000中的查詢分析器打不開怎麼解決 開始 執行 cmd assoc.exe exefile 試一下 ...
sqlserver怎樣判斷查詢出來的表裡某列是否存在
類似下面例子,判斷不存在欄位則增加 if not exists select a.name from syscolumns a,sysobjects b where a.id b.id and ltrim a.name col name and ltrim b.name tablename alte...
如何將SQL server 2019裡的查詢結果匯出到Excel表內
查詢完之後在結果欄裡按ctrl a將結果全選,按右鍵選擇 將結果另存為.然後儲存為 csv 檔案,就可以用excel開啟了。或者 連同標題一起復制 然後將結果拷貝到excel表中就可以了。1 首先開啟sql server 2008 應用程式,進入到程式操作頁面中,選擇需要編輯的表。2 然後在彈出來的...