日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle:平均分大于78的女同学的学号、姓名、平均分

發布時間:2024/4/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle:平均分大于78的女同学的学号、姓名、平均分 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
create table student(sno varchar(10) primary key,sname varchar(10),ssex varchar(4) ); insert into student values('001','趙','f'); insert into student values('002','錢','m'); insert into student values('003','孫','f'); insert into student values('004','李','m'); insert into student values('005','周','f');insert into student values('006','趙','f');create table course(cno varchar(10) primary key,cname varchar(30),ccredit int ); insert into course values('c01','sqlserver',1); insert into course values('c02','oracle',2); insert into course values('c03','java',3); insert into course values('c04','c語言',4); insert into course values('c05','軟件工程',5); create table sc(sno varchar(10),cno varchar(10),grade int,primary key (sno,cno),foreign key (sno) references student(sno),foreign key (cno) references course(cno) ); insert into sc values('001','c01',80); insert into sc values('001','c02',85); insert into sc values('001','c02',60); insert into sc values('001','c03',70); insert into sc values('001','c04',81); insert into sc values('001','c05',82); insert into sc values('002','c01',83); insert into sc values('002','c02',84); insert into sc values('003','c03',85); insert into sc values('003','c05',86); insert into sc values('004','c04',87); insert into sc values('004','c05',88); insert into sc values('005','c02',89); insert into sc values('005','c04',100); insert into sc values('005','c05',40); insert into sc values('006','c05',80); commit;--平均分大于78的女同學的學號、姓名、平均分 --方法1: select sc.sno,(select sname from student a where a.sno = sc.sno) sname,avg(grade) from sc,student where sc.sno = student.sno and ssex='f' group by sc.sno having avg(grade)>78 order by sc.sno; --方法2: select sc.sno,sname,avg(grade) from sc,student where sc.sno = student.sno and ssex = 'f' group by sc.sno,sname having avg(grade)>78

結果:

描述:

1)數據庫:oracle

2)方法一的坑:ssex='f'必須放在最外層的條件中,如果放再內層的條件中,選出的sname為列,如果沒有符合條件的,則會出現sname為null的情況。

3)方法二的坑:通常計算平均成績,就會想到group by sc.sno,但是查詢的時候,又要展示sname,該列不在分組中,所以很容易報錯,最簡單的辦法就是把sname加入到分組。那有的人就會問,如果有姓名相同的人,會不會分到一個組,答案肯定不會,因為先按照sc.sno分組了,所以,即使有名字相同的,又同時滿足條件,由于學號不同,還是會被查詢出來(如結果所示)。

?

總結

以上是生活随笔為你收集整理的oracle:平均分大于78的女同学的学号、姓名、平均分的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。