① sql必知必會(SQL 是如何執行的)
SQL 在 Oracle 中的執行過程
首先我們需要看下 profiling 是否開啟,開啟它可以讓 MySQL 收集在 SQL 執行時所使用的資源情況,命令如下:
然後我們執行一個 SQL 查詢
② SQL必知必會(索引的原理)
一個 M 階的 B 樹(M>2)有以下的特性:
然後我們來看下如何用 B 樹進行查找。假設我們想要查找的關鍵字是 9,那麼步驟可以分為以下幾步:
B+ 樹基於 B 樹做出了改進,主流的 DBMS 都支持 B+ 樹的索引方式,比如 MySQL。B+ 樹和 B 樹的差異在於以下幾點:
比如,我們想要查找關鍵字 16,B+ 樹會自頂向下逐層進行查找:
③ 初學者自學SQL有什麼好書推薦
【導讀】隨著互聯網的發展,數據分析已經成了非常熱門的職業,大數據分析師也成了社會打工人趨之若鶩的職業,不僅高薪還沒有很多職場微世界的繁瑣事情,不過要想做好數據分析工作也並不簡單,參看一些好書,對行進數據分析會更有幫助!那麼初學者自學SQL有什麼好書推薦呢?
SQL
1.《SQL 從入門到知曉》
學習 SQL 的入門書,SQL 是個性價比很高的技能,簡略而強健。任何想進一步跋涉自己數據分析技能的產品/運營/分析師,都主張點亮這個技能點。
2.《SQL必知必會》
本書是深受世界各地讀者歡迎的SQL經典暢銷書,內容豐厚,文字簡練明快,針對Oracle、SQL
Server、MySQL、DB2、PostgreSQL、SQLite等各種幹流資料庫供應了許多簡明的實例。與其他同類圖書不同,它沒有過多論說資料庫基礎理論,而是專門針對一線軟體開發人員,直接從SQL
SELECT開端,敘說實踐工作環境中最常用和最必需的SQL知識,有用性極強。通過本書,讀者能夠從沒有多少SQL經歷的新手,活絡編寫出世界級的SQL!
3.《SQL基礎教程》
本書介紹了聯絡資料庫以及用來操作聯絡資料庫的SQL語言的運用方法,供應了許多的示常式序和詳實的操作進程說明,讀者能夠親主動手處理詳細問題,故步自封地掌握SQL的基礎知識和技巧,真實跋涉自身的編程才調。在每章結束備有習題,用來查驗讀者對該章內容的了解程度。其他本書還將重要知識點總結為「規律」,便當我們隨時查閱。
4.《MySQL必知必會》
本書從介紹簡略的數據檢索開端,逐步深化一些雜亂的內容,包含聯合的運用、子查詢、正則表達式和根據全文本的查找、存儲進程、游標、觸發器、表綁縛,等等。通過要害超卓的章節,條理清楚、體系而扼要地敘說了讀者應該掌握的知識,使他們不經意間立刻功力大增。
5. 《深化淺出SQL》
帶你進入SQL語言的心臟地帶,從運用INSERT和SELECT這些根柢的查詢語法到運用子查詢(subquery)、聯接(join)和業務(transaction)這樣的中心技能來操作資料庫。你將不只能夠了解高效資料庫規劃和創建,還能像一個專家那樣查詢、歸一(normalizing)和聯接數據。你將成為數據的真實主人。
以上就是小編今天給大家整理分享關於「初學者自學SQL有什麼好書推薦?」的相關內容希望對大家有所幫助。小編認為要想在大數據行業有所建樹,需要考取部分含金量高的數據分析師證書,一直學習,這樣更有核心競爭力與競爭資本。
④ SQL必知必會(設計範式)
了解了數據表中的 4 種鍵之後,我們再來看下 1NF、2NF 和 3NF,BCNF 我們放在後面講。
⑤ SQL必知必會(游標)
第一步,定義游標。
第二步,打開游標。
第三步,從游標中取得數據。
第四步,關閉游標。
最後一步,釋放游標。
你會發現執行 call calc_hp_max() 這一句的時候系統會提示 1329 錯誤,也就是在 LOOP 中當游標沒有取到數據時會報的錯誤。
使用游標來解決一些常見的問題
⑥ sql必知必會
《SQL必知必會》(第3版)SQL是目前使用最為廣泛的資料庫語言之一。本書沒有涉及理論,而是從實踐出發,由淺入深地講解了廣大讀者所必需的SQL知識,適用於各種主流資料庫。實例豐
富,便於查閱。本書涉及不同平台上數據的排序、過濾和分組,以及表、視圖、聯結、子查詢、游標、存儲過程和觸發器等內容,通過本書讀者可以系統地學習到SQL的知識和方法。
⑦ SQL必知必會(索引的使用原則)
你能看到查詢效率還是比較低的。當我們對 user_id 欄位創建索引之後
兩個單索引 comment_time , user_id
聯合索引( user_id , comment_time )
聯合索引( comment_time , user_id )
這里我們對 comment_text 創建索引,再執行上面的 SQL 語句
⑧ SQL必知必會(視圖)
這樣的話,下次再對視圖進行查詢的時候,視圖結果就進行了更新。
我在講解 SQL99 標准連接操作的時候,舉了一個 NBA 球員和身高等級連接的例子,有兩張表,分別為 player 和 height_grades。其中 height_grades 記錄了不同身高對應的身高等級。這里我們可以通過創建視圖,來完成球員以及對應身高等級的查詢。
這樣的話,我們直接查詢視圖,就可以得到格式化後的結果:
⑨ SQL必知必會(第五版)
去重 :使用DISTINCT關鍵字,它必須直接放在列名的前面。
檢索前5行數據:
LIMIT 5 OFFSET 5指示MySQL等DBMS返回從第5行起的5行數據。第一個數字是檢索的行數,第二個數字是指從哪兒開始。
2.1 排序數據
注意: ORDER BY 子句的位置在指定一條ORDER BY子句時,應該保證它是 SELECT語句中最後一條子句 。如果它不是最後的子句,將會出錯。
ORDER BY 2, 3表示先按prod_price,再按prod_name進行排序。
好處在於不用重新輸入列名。
缺點。首先,不明確給出列名有可能造成錯用列名排序。其次,在對SELECT清單進行更改時容易錯誤地對數據進行排序(忘記對ORDER BY子句做相應的改動)。最後,如果進行排序的列不在SELECT清單中,顯然不能使用這項技術。
DESC 是DESCENDING的縮寫,這兩個關鍵字都可以使用。與DESC相對的是 ASC (或ASCENDING),在升序(A→Z)排序時可以指定它。但實際上,ASC沒有多大用處,因為升序是默認的(如果既不指定ASC也不指定DESC,則假定為ASC)。
DESC關鍵字只應用到直接位於其前面的列名。如果想在多個列上進行降序排序,必須對每一列指定DESC關鍵字。
在SELECT語句中,數據根據WHERE子句中指定的搜索條件進行過濾。WHERE子句在表名(FROM子句)之後給出。
在同時使用ORDER BY和WHERE子句時,應該讓ORDER BY位於WHERE之後,否則將會產生錯誤。
提示: 單引號用來限定字元串。如果將值與字元串類型的列進行比較,就需要限定引號。用來與數值列進行比較的值不用引號。
操作符(operator) 用來聯結或改變WHERE子句中的子句的關鍵字,也稱為邏輯操作符(logicaloperator)。
AND 用在WHERE子句中的關鍵字,用來指示檢索滿足所有給定條件的行。
一個AND子句,只有兩個過濾條件。可以增加多個過濾條件,每個條件間都要使用AND關鍵字。
ORDER BY子句,放在WHERE子句之後。
OR: WHERE子句中使用的關鍵字,用來表示檢索匹配任一給定條件的行。
SQL(像多數語言一樣)在處理OR操作符前,優先處理AND操作符。
圓括弧具有比AND或OR操作符更高的優先順序。
任何時候使用具有AND和OR操作符的WHERE子句,都應該使用圓括弧明確地分組操作符。
IN:WHERE子句中用來指定要匹配值的清單的關鍵字,功能與OR相當。
IN操作符一般比一組OR操作符執行得更快。
IN的最大優點是可以包含其他SELECT語句,能夠更動態地建立WHERE子句。
NOT: WHERE子句中用來否定其後條件的關鍵字。
通配符(wildcard) 用來匹配值的一部分的特殊字元。
搜索模式(search pattern) 由字面值、通配符或兩者組合構成的搜索條件。
說明:區分大小寫根據DBMS的不同及其配置,搜索可以是區分大小寫的。如果區分大小寫,則』fish%』與Fish bean bag toy就不匹配。
除了能匹配一個或多個字元外,%還能匹配0個字元。%代表搜索模式中給定位置的0個、1個或多個字元。
'%』不會匹配名稱為NULL的行。
下劃線的用途與%一樣,但它只匹配單個字元,而不是多個字元。
與%能匹配多個字元不同,_總是剛好匹配一個字元,不能多也不能少。
此語句的WHERE子句中的模式為』[JM]%'。這一搜索模式使用了兩個不同的通配符。[JM]匹配方括弧中任意一個字元,它也只能匹配單個字元。因此,任何多於一個字元的名字都不匹配。[JM]之後的%通配符匹配第一個字元之後的任意數目的字元,返回所需結果。
也可以使用NOT操作符得出類似的結果。^的唯一優點是在使用多個WHERE子句時可以簡化語法:
例如:
拼接(concatenate)
將值聯結到一起(將一個值附加到另一個值)構成單個值。
操作符可用加號(+)或兩個豎杠(||)表示。
說明:是+還是||?SQL Server使用+號。DB2、Oracle、PostgreSQL和SQLite使用||。在MySQL和MariaDB中,必須使用特殊的函數。
說明: TRIM函數 大多數DBMS都支持 RTRIM() (去掉字元串右邊的空格)、 LTRIM() (去掉字元串左邊的空格)以及 TRIM() (去掉字元串左右兩邊的空格)。
SQL支持列別名。 別名(alias) 是一個欄位或值的替換名。別名用 AS 關鍵字賦予。
AS關鍵字可選,最好用它。
提示:如何測試計算
SELECT語句為測試、檢驗函數和計算提供了很好的方法。雖然SELECT通常用於從表中檢索數據,但是省略了FROM子句後就是簡單地訪問和處理表達式,例如SELECT 3*2;將返回6,SELECT Trim(' abc ');將返回abc,SELECT Curdate();使用Curdate()函數返回當前日期和時間。
UPPER()函數: 將文本轉換為大寫。
SQL函數不區分大小寫,因此upper(), UPPER(), Upper()都可以,substr(), SUBSTR(), SubStr()也都行。
⑩ 求SQL必知必會書籍電子版百度雲資源
《SQL必知必會》網路網盤txt 最新全集下載:
鏈接:
《SQL必知必會》是人民郵電出版社出版的書籍,作者是福塔,鍾鳴、劉曉霞等譯。