小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SQL-基于派生表的查詢

 怡紅公子0526 2022-12-23 發(fā)布于北京

  子查詢不僅可以出現(xiàn)在FROM子句中WHERE子句中,還可以出現(xiàn)在FROM子句中,這是子查詢生成的臨時(shí)派生表成為主查詢的查詢對(duì)象。如果子查詢中沒有聚集函數(shù),派生表可以不指定屬性列,子查詢SELECT子句后面的列名為其默認(rèn)屬性。

  通過FROM子句生成派生表時(shí),AS關(guān)鍵字可以省略,但必須為一個(gè)派生關(guān)系指定一個(gè)別名。

例 1:求出每個(gè)學(xué)生超過他自己選修課程平均成績(jī)的課程號(hào)

方法一

Select Sno,Cno

From SC X

Where Grade>(Select AVG(Grade)

               From SC Y

               Where Y.Sno=X.Sno); 

方法二

SELECT Sno,Cno

    FROM SC,(SELECT Sno,Avg(Grade) FROM SC GROUP BY Sno)

        AS Avg_sc(avg_sno,avg_grade)

WHERE SC.Sno=Avg_sc.avg_sno and SC.Grade>=Avg_sc.avg_grade;

這里FROM子句中的子查詢將生成一個(gè)派生表Avg_sc。該表有avg_sno和avg_grade兩個(gè)屬性組成,記錄了每個(gè)學(xué)生的學(xué)號(hào)及平均成績(jī)。主查詢將SC表與AVG_sc按學(xué)號(hào)相等進(jìn)行連接,選出選修成績(jī)大于其平均成績(jī)的課程號(hào)。

 

例 2:查詢成績(jī)?cè)?0分以上的女生的姓名

    select Sname

    from Students S, (select Sid from SC where grade>90) T

    where Ssex='F' and S.sid=T.sid;

 

思考題: 求選修課程記錄中,男生里成績(jī)最好和最差的學(xué)生的姓名,性別和成績(jī),以及女生里成績(jī)最好和最差的學(xué)生的姓名,性別和成績(jī)

select S.sname,S.ssex,SC.grade 
    
    from student S,SC,(Select student.ssex, max(grade) 

        From student, SC Where student.sno=SC.sno Group by student.ssex)

            as T(ssex,grade)

                where S.sno=SC.sno and S.ssex=T.ssex and SC.grade=T.grade

Union

select S.sname,S.ssex,SC.grade
    
    from student S,SC,(Select student.ssex, min(grade) 

        From student, SC Where student.sno=SC.sno Group by student.ssex)

        as T(ssex,grade)

            where S.sno=SC.sno and S.ssex=T.ssex and SC.grade=T.grade;                

  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多