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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

MySQL学习---作业(1)

發(fā)布時(shí)間:2023/12/16 数据库 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL学习---作业(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目是從學(xué)校MOOC平臺(tái)粘過(guò)來(lái)的!
3.8 對(duì)于教學(xué)數(shù)據(jù)庫(kù)的三個(gè)基本表:

S(學(xué)號(hào),姓名 ,年齡,性別)

SC(學(xué)號(hào) ,課程號(hào),成績(jī))

C(課程號(hào) ,課程名,任課教師姓名)

試用SQL語(yǔ)句表達(dá)下列查詢:

⑴ 查詢姓劉的老師所授課程的課程號(hào)和課程名。

⑵ 查詢年齡大于23歲的男同學(xué)的學(xué)號(hào)和姓名。

⑶ 查詢學(xué)號(hào)為S3的學(xué)生所學(xué)課程的課程號(hào)、課程名和任課教師姓名。

⑷ 查詢“張小飛”沒(méi)有選修的課程號(hào)和課程名。

⑸ 查詢至少選修了3門(mén)課程的學(xué)生的學(xué)號(hào)和姓名。

⑹ 查詢?nèi)繉W(xué)生都選修了的課程編號(hào)和課程名稱(chēng)。

⑺ 在SC中刪除尚無(wú)成績(jī)的選課元組。

⑻ 把“高等數(shù)學(xué)”課的所有不及格成績(jī)都改為60。

⑼ 把低于總評(píng)均成績(jī)的女同學(xué)的成績(jī)提高5%。

⑽ 向C中插入元組(‘C8’,‘VC++’,‘王昆’)

無(wú)法把要更新的表放在from語(yǔ)句下:
You can’t specify target table for upedate in from column
解決方案
需要把(邏輯上)需要放在from之后的表(也就是那些滿足篩選條件的與元組集合)偽裝成一個(gè)新的表,再?gòu)闹腥〕鲎鳛橄拗茥l件。

我覺(jué)得有些吃力的是(8)、(9):

#(8)update sc as a,(select 學(xué)號(hào),課程號(hào) from sc where 課程號(hào)=(select 課程號(hào) from c where 課程名='高等數(shù)學(xué)')) as bset 成績(jī)=60where a.學(xué)號(hào)=b.學(xué)號(hào)and a.課程號(hào)=b.課程號(hào)and a.成績(jī)<60;#(9) 這種方法有缺陷---只通過(guò)將修改元組的學(xué)號(hào)來(lái)選擇記錄update scset 成績(jī)=(1+0.05)*成績(jī)where 學(xué)號(hào) in (select a.學(xué)號(hào) from(select DISTINCT s.學(xué)號(hào) from s join sc on s.學(xué)號(hào)=sc.學(xué)號(hào)where sc.成績(jī)<(select avg(成績(jī)) from sc)and s.性別='女') as a);

修整一下:

#題目:把高等數(shù)學(xué)不及格的成績(jī)都修改成60 #首先選出高等數(shù)學(xué)不及格的學(xué)號(hào)和課程號(hào) SELECT 學(xué)號(hào),課程號(hào) FROM SC WHERE 成績(jī)<60 AND 課程號(hào)= (SELECT 課程號(hào) from c where 課程名= '高等數(shù)學(xué)') #接著,更新相應(yīng)成績(jī) UPDATE SC as a,(SELECT 學(xué)號(hào),課程號(hào) FROM SC WHERE 成績(jī)<60 AND 課程號(hào)= (SELECT 課程號(hào) from c where 課程名= '高等數(shù)學(xué)')) as b SET 成績(jī)=60 WHERE a.學(xué)號(hào)=b.學(xué)號(hào) and a.課程號(hào)=b.課程號(hào); #題目:把低于總平均成績(jī)的女同學(xué)的成績(jī)提高5% update sc a set 成績(jī)=(1+0.05)*成績(jī) where a.學(xué)號(hào) in (select 學(xué)號(hào) from s where 性別='女') and a.成績(jī) in (select m.成績(jī) from (select 成績(jī) from sc where 成績(jī)<(select avg(成績(jī)) from sc) )as m);

注:最后一行體現(xiàn)了上述的“偽裝”—把選出的成績(jī)沒(méi)有直接選擇,而是通過(guò)命名成新的表m,再行選擇

總結(jié)

以上是生活随笔為你收集整理的MySQL学习---作业(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。