學SQL的你,有碰到這5個問題嗎?
隨著公眾號的持續(xù)運營,越來越多的小伙伴,被我拉進微信技術(shù)交流群。久而久之會有小伙伴找我咨詢各種各樣的問題。
小伙伴們問的問題五花八門,但是基本都是跟數(shù)據(jù)庫和SQL有關(guān)的。
我總結(jié)了一下,這些問題大致有這么幾類:
- 數(shù)據(jù)庫安裝卸載報錯
- SQL代碼報錯
- SQL技術(shù)咨詢
- 要學習資料
- 職業(yè)規(guī)劃問題
下面是我對這些問題的一個解答,希望能夠?qū)δ阌兴鶈l(fā)和幫助。
數(shù)據(jù)庫安裝卸載報錯
這兩個問題我在公眾號上有詳細的介紹每一個步驟,包括安裝前的準備條件,安裝過程中需要注意的地方,以及安裝過程中報錯了該如何解決。
這里我就不再贅述了,有需要的小伙伴可以去公眾號搜索一下歷史文章。
而有些比較零碎又不便于發(fā)推文的。那我是怎么解決的呢?
SQL代碼報錯
對于這樣的問題,一般系統(tǒng)都會給出提示,像下面這幾種
有的我能看出來問題所在就直接指出來了。有的看不出來,只好尋求百度。直接輸入錯誤信息,十有八九會有類似的問題的解決方案,有時候甚至不需要你輸入完整錯誤信息,只需要輸入錯誤代碼即可。
但是出來那么多解決方法,到底哪個是對的呢?這個就要看解決方法與你錯誤的契合度了。如果完全一致,那沒的說就是它了,如果有個別出入,可以多看幾個解決方法再擇優(yōu)使用。
此外錯誤代碼也分平臺,所以在搜索的時候,我會加上數(shù)據(jù)庫平臺名稱,比如是Mysql的錯誤代碼,我會在錯誤代碼前加個Mysql,這樣就不會找到Oracle或者SQL Server中可能有相同的錯誤代碼了。
SQL技術(shù)性問題
這些一般都是咨詢該如何實現(xiàn)的問題,比如上下相鄰兩行時間差該怎么解決,如何將同一組的內(nèi)容寫到一行,如何統(tǒng)計每隔5分鐘的人流量等等。
上面這些問題我們都可以歸納為邏輯問題,雖說SQL不是萬能的,但是在處理邏輯問題這方面,這可是它的強項。
比如相鄰兩行時間差,可以添加自增長ID后進行錯位相減?;蛘呤褂孟到y(tǒng)提供的函數(shù),比如SQL Server和Oracle就有Lead()和Lag()向前向后位移N行的函數(shù)(默認是偏移1行),然后再和原始列相減。
這方面的問題確實需要經(jīng)驗才能解決,我在回答這類問題時不大喜歡直接給他們完整的代碼,更多的是我會告訴他們該怎么做,需要使用到哪些技術(shù)點。
因為直接給他們代碼了,可能就不會去思考了,不會花時間去理解這些技術(shù)點的作用了。久而久之還是沒有學到一些比較實用的技能。
(后面兩個問題留給小伙伴們?nèi)ニ伎祭?
要學習資料
這個占比其實也不少,為什么要單獨拿出來說呢?主要是我們公眾號確實屯了不少好的資料,耐何有少部分剛關(guān)注或者關(guān)注了很久的小伙伴,可能沒時間翻一下我們的公眾號。其實我們所有學習資料都在公眾號菜單欄里,見下圖:
不管是視頻資料,PDF文檔,還是軟件安裝包,這里都為大家準備好了,當然都是與數(shù)據(jù)庫相關(guān)的。
其中資源匯總里把上面幾個,還有其他與數(shù)據(jù)庫相關(guān)的內(nèi)容也放進去了,可謂應有盡有。
所以下次如果需要學習資料的小伙伴,可以先在我們公眾號里找找,如果確實沒有你想要的可以來問我要。
職業(yè)規(guī)劃問題
我們公眾號面向的讀者,大部分其實都是數(shù)據(jù)庫的初學者。好多都是剛畢業(yè)或者轉(zhuǎn)行做數(shù)據(jù)相關(guān)的工作,需要使用到數(shù)據(jù)庫和SQL語言。所以都對數(shù)據(jù)庫相關(guān)的職業(yè)比較迷茫。
作為一個過來人,每每遇到這樣的小伙伴,我覺得自己瞬間就成為了對方的“人生導師”,不敢信口胡謅。同時也想起了我剛畢業(yè)時,沒人能指點一二的困境。
上面的截圖是小伙伴向我咨詢職業(yè)相關(guān)的內(nèi)容,在跟他們交流的過程中,我只是將我對當前行業(yè)的一些理解告訴他們。我的建議可能有幫助,也可能只是一劑安慰劑,真正做決定的還是他們自己。就像我選擇數(shù)據(jù)庫這一行也是我自己的決定,但我覺得這個決定很正確。