標(biāo)題黨了
這幾年時(shí)常面試別人絮识,也被別人面過,關(guān)于SQL的問題是少不了的嗽上,老實(shí)說絕大多數(shù)問我的關(guān)于SQL的問題是很沒有水平的次舌,像什么分組取前三名之類的。我自己剛開始做面試官的時(shí)候兽愤,可能也問過"這他媽什么玩意"的傻逼面試題彼念,不過時(shí)間長了,我覺得如下三道題基本就能知道你到底懂不懂SQL浅萧,不過根據(jù)我的經(jīng)驗(yàn)逐沙,大多數(shù)人是不懂的。
三道題如下:
1.select * from t1 join t2 on t1.a = t2.a and t1.b = t2.b 和 select * from t1 left join t2 on t1.a = t2.a and t1.b = t2.b 這兩個(gè)在結(jié)果集上有什么區(qū)別? ( 這個(gè)其實(shí)就是在問內(nèi)連接和外連接的區(qū)別)
2.有一張表記錄了用戶登錄的ID和時(shí)間洼畅,怎么找出每一個(gè)用戶最長連續(xù)登錄的天數(shù)?(這是個(gè)關(guān)于窗口函數(shù)的問題)
3.select count(a) from t1 和 select count(1) from t1 有什么區(qū)別?(null 的含義)
三道題若是都能講出來道理酱吝,說明SQL基本上可以說很懂了
:-)