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

亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

問答專欄Q & A COLUMN

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

baukh789baukh789 回答0 收藏1
收藏問題

1條回答

ymyang

ymyang

回答于2022-06-28 14:01

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



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

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


學(xué)生信息表

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


教師信息表

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


課程信息表

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


成績(jī)信息表

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

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

練習(xí)如下

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

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



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

上述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 中的所有字段都是明確語(yǔ)義,即在此模式下 select target list 中的字段 要么是來自于聚合函數(shù)(sum、avg、max等)的結(jié)果,要么是來自于 group by 中的表達(dá)式的值,除此之外都將觸發(fā)異常。
  • 因此,MySQL提供了any_value 函數(shù)來抑制 only_full_group_by 值被拒絕,any_value 會(huì)選擇被分到同一組的數(shù)據(jù)里第一條數(shù)據(jù)的指定字段值作為返回?cái)?shù)據(jù)。

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



3 獲取各課程的平均成績(jī),降序排列,若平均成績(jī)相同時(shí),按課程編號(hào)升序排列。


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



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

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


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

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



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

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



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

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



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


相關(guān)閱讀:

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

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

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

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

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