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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql查询各类课程的总学分_关于SQL练习2的一些写法。。。查询选修人数超过2人且成绩都在60分以上的课程 查询选修张老师讲授所有课程的学生 计算并填写学生获得的总学分...

發布時間:2023/12/20 数据库 26 豆豆

10-1 查詢沒有選修’C語言’課程的學生 (10分)

本題目要求編寫SQL語句, 檢索出沒有選修’C語言’課程的學生記錄,輸出結果集按照學號升序排序。

提示:請使用SELECT語句作答。請使用not exist實現。

select sno as 學號,sname as 姓名 from stu

where sno not in

(select distinct sno from sc where

not exists(select * from cou where cou.cno = sc.cno and cname != 'C語言') )

order by sno asc;

10-2 查詢S001學生選修而S003學生未選修的課程 (10分)

本題目要求編寫SQL語句, 檢索出 sc表中學號為S001的學生選修的而S003學號學生未選修的課程號。

提示:請使用SELECT語句作答。MySQL不允許使用 except語句。

select cno as 課程號 from sc

where cno not in(

select s1.cno as 課程名 from sc s1 join sc s2

on s1.cno = s2.cno

where

(s1.sno = 's001' and s2.sno = 's003')) and sno = 's001';

10-4 查詢平均分高于80分的學生 (10分)

本題目要求編寫SQL語句, 查詢平均分高于80分的學生姓名。

提示:請使用SELECT語句作答。

select sname from stu

where sno in

(

select sno from sc group by sno having avg(grade) >= 80);

10-5 查詢選修張老師講授所有課程的學生 (10分)

本題目要求編寫SQL語句, 查詢選修了張老師所講授的所有課程的學生。

提示:請使用SELECT語句作答。

select sname

from stu

where not exists

(select *

from cou

where not exists

(select *

from sc

where sc.sno=stu.sno and sc.cno=cou.cno) and cou.teacher = '張老師')

10-6 計算并填寫學生獲得的總學分 (10分)

本題目要求編寫UPDATE語句, 計算每位學生已獲得的總學分并填寫在stu表中的totalcredit字段。

其中,總學分為每個學生通過的選修課程的學分數總和,注意:只有在60分以上的選課成績才能獲得該門課程的學分數,每門課程的學分數在cou表中credit字段。

update stu,(select sno sno,sum(credit) total

from

(select sc.sno sno,case when sc.grade>=60 then credit else NULL end credit

from stu

join sc on sc.sno = stu.sno

join cou on sc.cno = cou.cno

group by sc.sno,credit,grade) nstu1

group by sno) nstu2

set stu.totalcredit = nstu2.total

where stu.sno = nstu2.sno;

這題放這兒感覺有點超標,用到后面的when then等了。

10-7 通過圖書表和借閱表,查詢圖書的借閱情況,要求結果中包括以下幾列:賬號,條形碼,書名和借書日期 (10分)

本題目要求編寫SQL語句,通過圖書表和借閱表,查詢圖書的借閱情況,要求結果中包括以下幾列:賬號,條形碼,書名和借書日期

提示:請使用SELECT多表查詢的方法。

select 借閱.賬號,借閱.條形碼,圖書.書名,借閱.借書日期 from 圖書 join

借閱

on 圖書.條形碼 = 借閱.條形碼

10-8 查詢軟件工程專業中年齡最大的同學姓名 (10分)

本題目要求編寫SQL語句, 查詢軟件工程專業中年齡最大的同學姓名.

提示:請使用SELECT語句作答。

select sname from stu

where mno = (select mno from major where mname = '軟件工程')

and birdate =

(select min(birdate) from stu)

10-9 查詢選修了“C語言”課程,但是沒有選修“數據結構”課程的學生 (10分)

本題目要求編寫SQL語句,查詢選修了“C語言”課程,但是沒有選修“數據結構”課程的學生姓名。

提示:請使用SELECT語句作答。

select sname from stu where sno in(

select distinct sno from sc where sno in(

select sno from sc

where sno not in

(select sno from sc where cno = 'c003') and cno = 'c002'))

(select sno from sc where cno = ‘c003’) and cno = ‘c002’)) 中也可以用子查詢查出等于

“C語言“以及不等于“數據結構”的cno。

10-10 查詢選修課程超過2門且成績都在80分以上的學生 (10分)

本題目要求編寫SQL語句,查詢選修課程超過2門且成績都在80分以上的學生的姓名、專業及總學分。

提示:請使用SELECT語句作答。

select sname 姓名,mno 專業,sum(credit) 總學分 from stu join

sc on stu.sno = sc.sno join cou

on sc.cno = cou.cno

group by sname,mno

having count(sc.cno) >= 2 and min(grade) >=80;

10-11 查詢選修人數超過2人且成績都在60分以上的課程 (10分)

本題目要求編寫SQL語句,查詢選修人數超過2人且成績都在60分以上的課程的課程名、最高成績、最低成績和平均成績。

提示:請使用SELECT語句作答。

select sc.cno 課程號,cname 課程名,max(grade) 最高成績,min(grade) 最低成績,avg(grade) 平均成績 from sc join

cou on sc.cno = cou.cno

group by sc.cno,cou.cname having count(sc.cno) > 2 and min(grade) >= 60 and count(*) = count(grade )

;

總結

以上是生活随笔為你收集整理的mysql查询各类课程的总学分_关于SQL练习2的一些写法。。。查询选修人数超过2人且成绩都在60分以上的课程 查询选修张老师讲授所有课程的学生 计算并填写学生获得的总学分...的全部內容,希望文章能夠幫你解決所遇到的問題。

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