肯定是不對的
創(chuàng)新互聯(lián)建站于2013年開始,先為五大連池等服務(wù)建站,五大連池等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為五大連池企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
這是要針對同一個sno,它的最高分小于90,最低分小于70,其實只用score表就行
select?a.sno
from
(select?sno,min(Degree)?Degree?from?score?group?by?sno)?a,
(select?sno,max(Degree)?Degree?from?score?group?by?sno)?b
where?a.Degree?70?and?b.Degree?90
具體代碼如下:
select?班級名稱,分?jǐn)?shù)=MAX(成績)
from
學(xué)生表?s?join?班級表?c
on?s.班級號=c.班級號
join?成績表?sc
on?s.學(xué)號=sc.學(xué)號
group?by?班級名稱
擴(kuò)展資料:
SQL JOIN 子句用于把來自兩個或多個表的行結(jié)合起來,基于這些表之間的共同字段。
最常見的 JOIN 類型:SQL INNER JOIN(簡單的 JOIN)。 SQL INNER JOIN 從多個表中返回滿足 JOIN 條件的所有行。
不同的 SQL JOIN,您可以使用的不同的 SQL JOIN 類型:
INNER JOIN:如果表中有至少一個匹配,則返回行
LEFT JOIN:即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN:即使左表中沒有匹配,也從右表返回所有的行
FULL JOIN:只要其中一個表中存在匹配,則返回行
參考資料:
Oracle官方API接口-PL/SQL API
W3cSchool-SQL JOIN
請參考下列SQL語句:
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;
上述語句已經(jīng)測試通過。代碼思路是:
學(xué)生表與成績表基于學(xué)號進(jìn)行連接獲取每個學(xué)號所在系名,然后用院系和課程號對成績表分組匯總,求得每個院系、每個課程的最高得分(結(jié)果集c,含系名、課程號和最高分)。然后用結(jié)果集C再次與成績表、學(xué)生表進(jìn)行比對,篩選出獲得每個系、每個課程的最高分的學(xué)號并包含課程號和系名(結(jié)果集t)。最后t通過連接獲取學(xué)生表中的學(xué)生姓名、課程表中的課程名完成最后輸出。