今天給大家分享一份星友對SQL經典面試50題的刷題記錄,稍作了一些修改,以下是星友自述正文:
看完了SQL基礎教程,然後再看SQL進階教程感覺有些不是很懂,於是就開始刷題熟悉⼀下基礎知 識,找了⽐較經典的很多⼈都刷過的SQL⾯試50題,B站也有挺好的視頻解答,看題先⾃⼰做,不會就看視頻解答,感覺難題都在前⾯。
剛開始基本是邊看邊做,慢慢後⾯簡單了,基本能⾃⼰先做了再看,斷斷續續終於刷完了全部題⽬,重新梳理⼀遍看看知識點,分享⼀下刷題的代碼,視頻基本講解很清楚了,我就簡單寫下思路知識。(本文只列舉部分問題,完整版可見星球或以下鏈接)
題⽬知乎鏈接:
https://zhuanlan.zhihu.com/p/38354000
https://zhuanlan.zhihu.com/p/43289968
B站學習視頻:
https://www.bilibili.com/video/BV1q4411G7Lw/?p=4
視頻B站鏈接:
https://www.bilibili.com/video/BV1q4411G7Lw?p=1
數據表介紹
學生表:
Student(s_id,s_name,s_birth,s_sex)
學生編號,學生姓名, 出生年月,學生性別
課程表:
Course(c_id,c_name,t_id)
課程編號, 課程名稱, 教師編號
教師表:
Teacher(t_id,t_name)
教師編號,教師姓名
成績表:
Score(s_id,c_id,s_s_score)
學生編號,課程編號,分數
1、查詢課程編號爲“01”的課程比“02”的課程成績高的所有學生的學號(重點)
2、查詢平均成績大於60分的學生的學號和平均成績(簡單,第二道重點)
2.1、所有成績小於60分的學生信息
2.2、查詢平均成績小於60分的學生的學號和平均成績,考慮沒參加考試的情況
5、查詢沒學過“張三”老師課的學生的學號、姓名(重點)
6、查詢學過“張三”老師所教的所有課的同學的學號、姓名(重點)
7、查詢學過編號爲“01”的課程並且也學過編號爲“02”的課程的學生的學號、姓名(重點)
7.1、查詢學過編號爲“01”的課程但沒有學過編號爲“02”的課程的學生的學號、姓名(重點)
10、查詢沒有學全所有課的學生的學號、姓名(重點)
11、查詢至少有一門課與學號爲“01”的學生所學課程相同的學生的學號和姓名(重點)
12、查詢和“01”號同學所學課程完全相同的其他同學的學號(重點)
13、查詢沒學過"張三"老師講授的任一門課程的學生姓名 和47題一樣(重點,能做出來)
15、查詢兩門及其以上不及格課程的同學的學號,姓名及其平均成績(重點)
17、按平均成績從高到低顯示所有學生的所有課程的成績以及平均成績(重重點與35一樣)
18、查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程ID,課程name,最高分,最低分,平均分,及格率,中等率,優良率,優秀率(及格爲>=60,中等爲:70-80,優良爲:80-90,優秀爲:>=90) (超級重點)
22、查詢所有課程的成績第2名到第3名的學生信息及該課程成績(重要 25類似)
24、查詢學生平均成績及其名次(同19題,重點)
25、查詢各科成績前三名的記錄(不考慮成績並列情況)(重點 與22題類似)
35、查詢所有學生的課程及分數情況(重點)
36、查詢任何一門課程成績在70分以上的姓名、課程名稱和分數(重點) 注:不用group by
40、查詢選修“張三”老師所授課程的學生中成績最高的學生姓名及其成績(重要top)(成績最高學生可能有n個,應該用嵌套查到最高成績再查成績等於最高成績的學生信息)
41.查詢不同課程成績相同的學生的學生編號、課程編號、學生成績 (重點)
46、查詢各學生的年齡(精確到月份)
47、查詢沒學過“張三”老師講授的任一門課程的學生姓名
熱門文章
【您的在看,我的莫大鼓勵】