一次筆試題目附答案(sql答卷)


一次筆試題目附答案(sql答卷)

已知以下表結構(括號內為表名和字段名,用SQL寫出以下題目答案):

 

業務情景限制:

1、  一個班級有且有多名學生,一名學生只屬於一個班級;

2、  學生有可能沒有成績;

考題:

(1)       查詢所有學生的信息(學號、姓名、性別、班級名稱)

SELECT  x.xh,x.xm,x.xb,b.bjmc  FROM bjb b,xsb x WHERE x.bjb_id = b.id

(2)       查詢所有人的課程分數(學號、姓名、性別、班級名稱、語文分數、數學分數)

SELECT x.xh,x.xm,x.xb,b.bjmc,c.yw,c.sx  FROM bjb b,xsb x,cjb c WHERE x.bjb_id = b.id AND x.id = c.id

 (3)       查詢語文分數比“張三”的高的學生(學號、姓名、性別、班級名稱、語文分數)

SELECT x.xh,x.xm,x.xb,b.bjmc,c.yw  FROM bjb b,xsb x,cjb c WHERE x.bjb_id = b.id AND x.id = c.id AND c.yw > (SELECT c.yw FROM  xsb x,cjb c  WHERE  x.id = c.id AND x.xm='張三' )

 (4)       查詢各科都合格【分數>=60分】的學生(學號、姓名、語文分數、數學分數)

SELECT x.xh,x.xm,c.yw,c.sx  FROM bjb b,xsb x,cjb c WHERE x.bjb_id = b.id AND x.id = c.id AND c.yw >= 60 AND c.sx >= 60 GROUP BY x.xh

 (5)       查詢總分數(語文+數學)>=150的學生信息(學號、姓名、班級名稱、總分數)

SELECT x.xh,x.xm,b.bjmc,sum(c.yw+c.sx) AS zf  FROM bjb b,xsb x,cjb c WHERE x.bjb_id = b.id AND x.id = c.id AND (c.yw + c.sx) >= 150 group by x.xh

 (6)       查詢沒有參加考試【沒有成績表】的學生(學號、姓名、性別、班級名稱)

select x.xh,x.xm,x.xb,b.bjmc from bjb b ,xsb x ,cjb c where x.bjb_id=b.id and x.id not in (select id from cjb) group by x.xh,x.xm,x.xb,b.bjmc

 (7)       假設分數>=60分合格,分析學生的成績是否合格

(學號、姓名、語文合格情況[合格/不合格]、數學合格情況[合格/不合格])

SELECT x.xh,x.xm,IF(c.yw >= 60,'合格','不合格') AS '語文合格情況',IF(c.sx >= 60,'合格','不合格') AS '數學合格情況' FROM bjb b,xsb x,cjb c WHERE x.bjb_id = b.id AND x.id = c.id

 (8)       查詢有掛科【分數<60分】現象的學生(學號、姓名、語文分數、數學分數)

select x.xh,x.xm,c.yw,c.sx from bjb b ,xsb x ,cjb c where x.bjb_id=b.id and x.id=c.id and (c.yw < 60 or c.sx < 60 )

 (9)       查詢所有班級的平均分數(班級編號、班級名稱、語文平均分數、數學平均分數)

select b.id,b.bjmc,AVG(c.yw) AS ywpjf,AVG(c.sx) AS sxpjf from bjb b ,xsb x, cjb c where c.id=x.id and b.id=x.bjb_id  group by b.id

 (10)   查詢班級人數>=30的班級(班級編號、班級名稱、人數)

select b.id,b.bjmc,count(c.id) AS rs from bjb b ,xsb x, cjb c where c.id=x.id and b.id=x.bjb_id  group by b.id,b.bjmc having count(c.id) >=30

本例子是通過mysql測試通過,如果用oracle請自行修改!!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM