sql文の練習と答え
1学生表student S.s.name名前、difdate日付、クラスgrade 2カリキュラム表course c咻課程番号、名前cname 3成成績表score.ccure.課程番号スコアスコアスコアスコアスコアスコアスコアスコアスコアスコア.1.各クラスに何人のselect gradeがありますか?count(sname from)student group by grade;2、2007級の各学生の平均成績がないのは0です。select a.sname(select avg(nvl(b.score,0)from zuscore b where b.s〓〓a.s from zu ustudent a where grade=2007;3科目ごとの平均成績と最高成績の最低成績2007級は2位の小数点4捨5入select b.c.を保留して、avg(b.score)、max(b.score)、min(nvl(b.score、0)from zustudent a,zuscore b where b.s〓a.s〓〓〓〓〓and a.grade=2007 group by b.c〓〓〓〓〓〓〓4は2007級の数学に5分アップデートします。score set score=nvl(score,0)+5 where s龛in(select s菗from zu u)student where grade=2007)and c獞=( select c菗from zucourse where cname='数学';5 90点以上は優秀90から85までが良好で、60点不合格の各平均成績はselect s.co,case when c==90 then'優秀'when c==60 then'ress'不合格'end as jige fromscore group by s order by jige desc;6は同月生まれの人数を求めてselect to_char(difdate、'mm's)as月、count(s驮)as出生数from zustudent group by to_char(difdate、'mm')--7各科の合格率と平均成績は2位を保留しています。合格率は2位を占めています。count(nvl)asの平均成績、sum(nvl(score,0))asの総成績、count(s萝)asの各科の人数、trunc(sum)の合格率はhen vl(ore 0)/scene 0score group by cca;一人当たりの合格率select s.co(nvl(score,0)as平均成績、sum(nvl(score,0)as総成績、count(ccase when nvl(score,0)>60 then 1合格else 0 end/counscore group by〓〓〓8名前を削除するのは張三の大学の国語成績select*from zuです。score where s〓〓in(select s堍from zu u)student where sname in'张三')and c菚=(select c菗from zucourse where cname='大学国語');9数学を高等数学に置き換えるudate zucourse set cname='高等数学'where cname like'%数学';10フォーマットでは、学号をSの先頭に変更すると、12桁未満の補数が表示されます。select concat('S',lpad(s菗,11,0)を検索します。)as s s s s(菗from zu u)スコアselect concat('S',lpad(s菗,11,0))as s s s菗from zustudent;フォーマットudate zuscore set s〓concat('S',lpad(s菗,9,0);udate zustudent set s〓concat('S',lpad(s菗,9,0);四つのサッカーチームはselect a.name、b.name from qiu a、qiu b where a.name