SQL經(jīng)典面試50題 | 附答案
大家好,我是寶器!
今天給大家分享一份星友對(duì)SQL經(jīng)典面試50題的刷題記錄,寶器稍作了一些修改,以下是星友自述正文:
看完了SQL基礎(chǔ)教程,然后再看SQL進(jìn)階教程感覺有些不是很懂,于是就開始刷題熟悉?下基礎(chǔ)知 識(shí),找了?較經(jīng)典的很多?都刷過的SQL?試50題,B站也有挺好的視頻解答,看題先??做,不會(huì)就看視頻解答,感覺難題都在前?。
剛開始基本是邊看邊做,慢慢后?簡單了,基本能??先做了再看,斷斷續(xù)續(xù)終于刷完了全部題?,重新梳理?遍看看知識(shí)點(diǎn),分享?下刷題的代碼,視頻基本講解很清楚了,我就簡單寫下思路知識(shí)。(本文只列舉部分問題,完整版可見星球或以下鏈接)
題?知乎鏈接:??
https://zhuanlan.zhihu.com/p/38354000?
https://zhuanlan.zhihu.com/p/43289968
B站學(xué)習(xí)視頻:
https://www.bilibili.com/video/BV1q4411G7Lw/?p=4??
視頻B站鏈接:
https://www.bilibili.com/video/BV1q4411G7Lw?p=1
數(shù)據(jù)表介紹
學(xué)生表:?
Student(s_id,s_name,s_birth,s_sex)?
學(xué)生編號(hào),學(xué)生姓名, 出生年月,學(xué)生性別

課程表:
Course(c_id,c_name,t_id)?
課程編號(hào), 課程名稱, 教師編號(hào)

教師表:
Teacher(t_id,t_name)
教師編號(hào),教師姓名

成績表:
Score(s_id,c_id,s_s_score)?
學(xué)生編號(hào),課程編號(hào),分?jǐn)?shù)

1、查詢課程編號(hào)為“01”的課程比“02”的課程成績高的所有學(xué)生的學(xué)號(hào)(重點(diǎn))

2、查詢平均成績大于60分的學(xué)生的學(xué)號(hào)和平均成績(簡單,第二道重點(diǎn))

2.1、所有成績小于60分的學(xué)生信息

2.2、查詢平均成績小于60分的學(xué)生的學(xué)號(hào)和平均成績,考慮沒參加考試的情況

5、查詢沒學(xué)過“張三”老師課的學(xué)生的學(xué)號(hào)、姓名(重點(diǎn))

6、查詢學(xué)過“張三”老師所教的所有課的同學(xué)的學(xué)號(hào)、姓名(重點(diǎn))

7、查詢學(xué)過編號(hào)為“01”的課程并且也學(xué)過編號(hào)為“02”的課程的學(xué)生的學(xué)號(hào)、姓名(重點(diǎn))

7.1、查詢學(xué)過編號(hào)為“01”的課程但沒有學(xué)過編號(hào)為“02”的課程的學(xué)生的學(xué)號(hào)、姓名(重點(diǎn))

10、查詢沒有學(xué)全所有課的學(xué)生的學(xué)號(hào)、姓名(重點(diǎn))

11、查詢至少有一門課與學(xué)號(hào)為“01”的學(xué)生所學(xué)課程相同的學(xué)生的學(xué)號(hào)和姓名(重點(diǎn))

12、查詢和“01”號(hào)同學(xué)所學(xué)課程完全相同的其他同學(xué)的學(xué)號(hào)(重點(diǎn))

13、查詢沒學(xué)過"張三"老師講授的任一門課程的學(xué)生姓名 和47題一樣(重點(diǎn),能做出來)

15、查詢兩門及其以上不及格課程的同學(xué)的學(xué)號(hào),姓名及其平均成績(重點(diǎn))

17、按平均成績從高到低顯示所有學(xué)生的所有課程的成績以及平均成績(重重點(diǎn)與35一樣)

18、查詢各科成績最高分、最低分和平均分:以如下形式顯示:課程ID,課程name,最高分,最低分,平均分,及格率,中等率,優(yōu)良率,優(yōu)秀率(及格為>=60,中等為:70-80,優(yōu)良為:80-90,優(yōu)秀為:>=90) (超級(jí)重點(diǎn))

22、查詢所有課程的成績第2名到第3名的學(xué)生信息及該課程成績(重要 25類似)

24、查詢學(xué)生平均成績及其名次(同19題,重點(diǎn))

25、查詢各科成績前三名的記錄(不考慮成績并列情況)(重點(diǎn) 與22題類似)

35、查詢所有學(xué)生的課程及分?jǐn)?shù)情況(重點(diǎn))

36、查詢?nèi)魏我婚T課程成績在70分以上的姓名、課程名稱和分?jǐn)?shù)(重點(diǎn)) 注:不用group by

40、查詢選修“張三”老師所授課程的學(xué)生中成績最高的學(xué)生姓名及其成績(重要top)(成績最高學(xué)生可能有n個(gè),應(yīng)該用嵌套查到最高成績再查成績等于最高成績的學(xué)生信息)

41.查詢不同課程成績相同的學(xué)生的學(xué)生編號(hào)、課程編號(hào)、學(xué)生成績 (重點(diǎn))

46、查詢各學(xué)生的年齡(精確到月份)

47、查詢沒學(xué)過“張三”老師講授的任一門課程的學(xué)生姓名

