1. 程式人生 > >SQL語句學習過程

SQL語句學習過程

一、基礎理論篇

目的: 1.瞭解建立資料庫的意義,為什麼不能用excel而需要用資料庫?以及有哪些方面的應用? 2.資料庫系統在整個網站中處於一個什麼位置?在資料後臺如何呼叫資料庫的資料? 3.資料庫的應用範圍?什麼時候才不得不使用資料庫?什麼時候資料庫也不靈了?(大概10萬條就可以使用了,千萬級的就到極限了,這玩意誰知道了) 4.表與表之間存在著怎樣的邏輯?理解實體、關係、主鍵、外來鍵。

     推薦資料:

資料庫原理(第5版)—清華大學出版社—趙豔鐸和葛萌萌翻譯的這本書講的比較通俗易懂,很快就能理解資料庫是怎麼回事。 其次再看看知乎裡面關於資料庫的效能評價。

二、基礎操作篇

目的: 1.學會操作一些基本的select的操作: 重點注意: where和having的區別, 還有null與空格的區別order by的侷限group by 如何在count等命令下分組, mid如何正向反向查詢字串位置 基本做到給你一堆資料,你可以查到你想要的 2.瞭解索引,知道如何建立索引,應用索引 3.瞭解資料型別,知道如何給各個資料建立對應的模型(兄弟連視訊教學講的比較明白)重點了解:char與varchar的區別tinyint、smallint的範圍float與double的區別date相關型別的輸入條件與輸出效果。

推薦資料: w3school連結:

SQL CREATE TABLE 語句 sql執行順序 - qanholas - 部落格園 資料庫系統概論第四版 w3school介紹了一些基本的操作指令,淺顯易懂,但是遠遠不夠,需要再看看資料庫系統概論第四版的第三章和第九章作為補充。對了,安裝也是個事,看附件吧。

三、練習篇推薦:

連結1 連結2 連結3-終極版 SQL查詢語句練習題27道 - friendan的專欄 - 部落格頻道 - CSDN.NETsql 經典試題先做前面的,不會的再到網上查,後面的確實比較難。

四、原理篇(這裡主要是HIVE的原理)

這是我們內部的分享資料,重點是需要大家瞭解HIVE的執行原理,join的用法,SQL的執行順序等等,這是我們寫複雜SQL的基礎。 這裡寫圖片描述

這裡寫圖片描述 這裡寫圖片描述

學到這時候,你基本就算入門了,可以上手寫SQL了,但是SQL中會遇到一些有難度的問題,需要掌握一些牛逼的函式,把他們學會,再練一下複雜的SQL,那麼恭喜你,你的SQL技能已經完全可以經得起任何面試和工作了(查詢部分哈)

五、高階段語句掌握

case when then else end 個人認為價效比最高 對於分組查詢非常有用。 例如你想要查各個時間段各資料出現的次數,你只有07:28這樣的時間,而你需要的是07:00~08:00這樣的時間段,這時就需要case來轉化SQL中的case when then else end用法開窗函式(row_number()over(partition by 分組欄位 order by 排序欄位)是最常用的) sql中的開窗函式over() - CSDN部落格 HIVE時間函式彙總(這個是HIVE的哈)對於美團,滴滴,快手等大部分網際網路公司,大部分資料需求都是和時間相關的,所以熟練掌握時間函式非常的重要。 趙立生:SQL進階–hive中的時間函式正則表示式

做文字挖掘的時候經常會用到正則表示式,比如說我想查訂單地址中含有趙立生這三個字的訂單明細

怎麼樣?又感覺自己牛逼的不行了?再練點更難的題吧!