{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

學(xué)了一陣Sql語法,想具體實(shí)踐一下,有沒有一些附帶答案和練習(xí)數(shù)據(jù)的mysql練習(xí)題?

baukh789baukh789 回答0 收藏1
收藏問題

1條回答

ymyang

ymyang

回答于2022-06-28 14:01

最近剛好在頭條寫了三篇關(guān)于MySQL的SQL語法實(shí)戰(zhàn)文章,這里大概列舉其中部分練習(xí)題,文末附全部文章鏈接,有興趣的可以跳轉(zhuǎn)閱讀。



演示數(shù)據(jù)

我們將以下面演示數(shù)據(jù)為例開展相關(guān)SQL語法練習(xí),演示數(shù)據(jù)涉及學(xué)生信息表、教師信息表、課程信息表、成績信息表,具體建表語句及數(shù)據(jù)如下:


學(xué)生信息表

我們向?qū)W生信息表中插入如下4條數(shù)據(jù):


教師信息表

我們向教師信息表中插入如下3條數(shù)據(jù):


課程信息表

我們向課程信息表中插入如下3條數(shù)據(jù):


成績信息表

我們向成績信息表中插入如下11條數(shù)據(jù):

通過上述SQL我們可以創(chuàng)建 學(xué)生、教師、課程、成績信息表,并插入樣例數(shù)據(jù),產(chǎn)生如下演示數(shù)據(jù):

練習(xí)如下

1 查詢所有同學(xué)的學(xué)生編號、學(xué)生姓名、選課總數(shù)、所有課程的平均成績。

上述SQL執(zhí)行結(jié)果如下:



2 查詢平均成績高于60 分的學(xué)生編號和學(xué)生姓名和平均成績。

上述SQL執(zhí)行結(jié)果如下:

在該例子中用到了 any_value 函數(shù),該函數(shù)有什么作用呢,如下:

  • 自 MySQL5.7版本之后,sql_mode 中 only_full_group_by 模式默認(rèn)為打開狀態(tài)。
  • only_full_group_by 就是確定 select target list 中的所有字段都是明確語義,即在此模式下 select target list 中的字段 要么是來自于聚合函數(shù)(sum、avg、max等)的結(jié)果,要么是來自于 group by 中的表達(dá)式的值,除此之外都將觸發(fā)異常。
  • 因此,MySQL提供了any_value 函數(shù)來抑制 only_full_group_by 值被拒絕,any_value 會選擇被分到同一組的數(shù)據(jù)里第一條數(shù)據(jù)的指定字段值作為返回?cái)?shù)據(jù)。

使用內(nèi)連接,同樣可以實(shí)現(xiàn)查詢平均成績高于60 分的學(xué)生編號和學(xué)生姓名和平均成績,如下。



3 獲取各課程的平均成績,降序排列,若平均成績相同時,按課程編號升序排列。


上述SQL執(zhí)行結(jié)果如下:



4 獲取數(shù)學(xué)(Math)課程成績不低于90分的學(xué)生學(xué)號、姓名班級、成績信息。

上述SQL執(zhí)行結(jié)果如下:


5 獲取語文(Chinese)課程成績不超過60分的學(xué)生學(xué)號、姓名班級、成績信息,按分?jǐn)?shù)降序排列的學(xué)生信息。

上述SQL執(zhí)行結(jié)果如下:



6 獲取班級的數(shù)學(xué)(Math)課程平均成績大于90分的班級。

上述SQL執(zhí)行結(jié)果如下:



7 獲取沒有缺考的學(xué)生的學(xué)號、姓名、班級信息。

上述SQL執(zhí)行結(jié)果如下:



8 獲取所有學(xué)生的課程及分?jǐn)?shù)情況(存在學(xué)生沒成績,沒選課的情況)


相關(guān)閱讀:

學(xué)以致用,語法基礎(chǔ)實(shí)戰(zhàn): https://www.toutiao.com/i6743064663044407815/

學(xué)以致用,語法進(jìn)階實(shí)戰(zhàn): https://www.toutiao.com/i6743066018496659981/

學(xué)以致用,語法強(qiáng)化實(shí)戰(zhàn): https://www.toutiao.com/i6743141851047395854/

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<