讀書筆記 |《SQL基礎教程》簡要總結

2021-03-02 圖靈教育

偶然間從朋友那看到了這本書(《SQL基礎教程》MICK著),感覺還不錯,於是花了4個小時認真地過了一遍,在這裡簡單地總結一下要點(個人觀點)。


基礎知識點

SQL不區分關鍵字的大小寫

SQL語句中表示字符串用單引號'將字符括起來

修改表名

SQL注釋

--:單行注釋,即-- 加上半角空格

/* */:可進行多行注釋

NOT運算符

AND運算符的優先級高於OR

SQL中的邏輯運算是三值邏輯,即真、假和不確定(NULL)

聚合函數會默認將NULL值排除

count(*):查找的是包含NULL在內的全部數據行數

count(1)或者count(column_name):不包含NULL在內的數據行數

sum(column_name):column_name為NULL或為零,其計算效果是一樣的

avg(column_name):NULL值和零值,其計算效果是不一樣的(分母不一樣)

聚合函數可以在SELECT子句、HAVING子句和ORDER BY子句中使用

COUNT等函數對表中的數據進行聚合操作時,DBMS內部會先進行排序處理

GROUP BY子句的聚合結果是無序的

ORDER BY字句中可以使用SELECT字句中已定義的列的別名

兩個詞:INSERT INTO, DELETE FROM, UPDATE SET, DROP TABLE

UPDATE tblname SET (name1, name2, name3) = (Name1, Name2, Name3) WHERE .

UPDATE tblname SET name1 = Name11, name2 = Name12 WHERE .

事務是需要在同一個處理單元中執行的一系列更新處理的集合

ACID

Atomicity

Consistency:滿足約束

Isolation: 不同事務間不相干擾

Durability

視圖的定義中不能包含ORDER BY子句

標量子查詢就是返回單一值的子查詢

字符串拼接函數||在SQL和MySQL中無法使用,等價的函數是CONCAT(str1, str2, str3)

EXTRACT(日期元素 FROM 日期)

類型轉換函數:CAST(xx AS yy)

NULL值轉換函數:COALESCE(str1, str2, str3) 會返回可變參數中左側開始第一個不是NULL的值

謂詞

LIKE: %, _

EXIST, NOT EXIST

CASE表達式

集合運算

JOIN

內連接:INNER JOIN

外連接:OUTER JOIN 選擇主表

交叉連接:CROSS JOIN -- 笛卡爾積

窗口函數

窗口函數:OLAP(OnLine Analytical Processing)函數,對資料庫數據進行實時分析處理,如市場分析、財務報表、創建計劃等; 可以進行排序、生成序列等一般的聚合函數無法實現的高級操作

語法 <窗口函數> OVER ([PARTITION BY <列清單>] ORDER BY <排序清單>)

專用窗口函數

聚合函數作為窗口函數使用

SUM, AVG, COUNT, MIN, MAX等 都是進行累計統計的,和GROUP BY 不同

指定框架(統計範圍)

AVG(col1) OVER (ORDER BY col2 ROWS 2 PRECEDING)

使用了ROWS和PRECEDING關鍵字制定了框架,即統計對象先定位「截止到之前2行」

AVG(col1) OVER (ORDER BY col2 ROWS 2 FOLLOWING) 「截止到之後~行」

OVER 字句中的 ORDER BY 只是用來決定窗口函數按照什麼順序進行計算的,對最後結果的排序沒有影響!


GROUPING 運算符

GROUPING運算符可以同時計算出小計值、合計值

ROLL UP同時計算出合計值和小計值

GROUP BY ROLL UP(col1, col2), 在MySQL中要改寫為GROUP BY col1 with ROLLUP

上述語句即相當於GROUP BY ()(超級分組記錄)和GROUP BY (col1)和GROUP BY (col1, col2)的結果

GROUPING函數 可判斷超級分組記錄中的NULL值

CUBE即將GROUP BY子句中聚合鍵的所有「可能組織」的聚合結果集中到一個結果中

GROUPING SETS 可以從 ROLLUP或者CUBE的記過中取出部分記錄

相關圖書推薦 

作者:MICK

譯者:孫淼  羅勇

定價:79.00元    

【和第1版有何不同?】

★ 更新!
將示例程序更新為對應新版本的RDBMS,即Oracle Database 12cR1、SQL Server 2014、DB2 10.5、PostgreSQL 9.5.3、MySQL 5.7。

★ 更全!
新增一章介紹從應用程式執行SQL語句的方法。

★ 更本土化!
針對讀者反映的第1版中示例程序中使用「日式拼音」的問題,第2版中已全部更新為英文。

作者:MICK
譯者:吳炎昌
定價:79.00元

資料庫工程師進階中級實用指南

挖掘SQL常見技術的新用法

適合具有一定SQL編程經驗的工程師閱讀

全書可分為兩部分,第一部分介紹了SQL語言不同尋常的使用技巧,帶領讀者從SQL常見技術,比如CASE表達式、自連接、HAVING 子句、外連接、關聯子查詢、EXISTS……去探索新發現。 這部分不僅穿插講解了這些技巧背後的邏輯和相關知識,而且輔以豐富的示例程序,旨在幫助讀者提升編程水平;第二部分著重介紹關係資料庫的發展史,把實踐與理論結合起來,旨在幫助讀者加深對關係資料庫和SQL語言的理解。此外,每節末尾均設置有練習題,並在書末提供了解答,方便讀者檢驗自己對書中知識點的掌握程度。

 點擊【閱讀原文】京東購買《SQL基礎教程(第2版)》

相關焦點

  • 續 | 《SQL基礎教程》學習筆記
    點擊上方SQL資料庫開發,關注獲取SQL視頻教程上周給大家分享了一部分《SQL基礎教程
  • 如何學習SQL語言
    第6部分:求職面試題這裡總結了常見的面試題,為以後找工作面試做準備:猴子:圖解SQL面試題:經典50題在SQL練習平臺sqlzoo中將習題做一遍,不僅是檢驗前面的學習效果,更是通過實踐加強熟悉前面的知識。這裡不能偷懶,一定要將每一道提做一遍,以後找工作面試都能用得上。如果現在偷懶,後面找不到工作的惡果可是要自己負責的。sqlzoo地址:sqlzoo.net/wiki/SELECT_
  • 《Fortran95程序設計與數據結構基礎教程》讀書筆記(二)派生類型
    本文是我最近學習Fortran的讀書筆記,其實很多內容都是摘自《Fortran95程序設計與數據結構基礎教程》的原文,所以也可以看成是書抄
  • 學習筆記系列NO.1 SQL學習筆記及資料分享
    其次我還看了《SQL基礎教程》這本書,這本書比起上面的課程要稍微簡單一些,但它最大的優點是它講解的是標準SQL語言,基本可以適用於各種作業系統和資料庫,除了Mysql以外,還有Oracle,PostgreSQL, SQL Server
  • 讀書筆記大全:英語讀書筆記
    讀書筆記大全:英語讀書筆記 2013-08-22 11:43 來源:讀書筆記網 作者:
  • 讀書筆記總結怎麼寫啊!
    讀書筆記主要有三大類:1.摘要式筆記摘要式筆記是一種在閱讀中把同自己的學習、工作或研究的問題有關的語句、段落等按原文準確無誤地抄錄下來的筆記形式。2.評註式筆記這是一種在閱讀中寫出自己對讀物內容的看法的筆記形式。評註式筆記又可分為(1)書頭批註這是一種最簡易的筆記作法。就是在讀書的時候,把書中重要的地方和自己體會最深的地方,用筆在字句旁邊的空白處打上個符號,或者在空白和加批註,或者是折頁、夾紙條作記號等。
  • 讀書筆記大全:怎樣做讀書筆記
    讀書筆記大全:怎樣做讀書筆記 2013-08-22 11:32 來源:讀書筆記網 作者:
  • 讀書筆記大全:活著讀書筆記
    讀書筆記大全:活著讀書筆記 2013-08-22 11:56 來源:讀書筆記網 作者:
  • 讀書筆記大全:讀書筆記100字
    新東方網整理中外名著讀書筆記大全,將好的讀書筆記摘抄,大家可以參考範文,總結讀書筆記格式,了解讀書筆記怎麼寫。更多內容推薦: 讀書筆記大全:中外名著讀書筆記摘抄1031篇1101篇讀書筆記大全告訴你讀書筆記該怎麼寫
  • 讀書筆記大全:靜悄悄的革命讀書筆記
    讀書筆記大全:靜悄悄的革命讀書筆記 2013-08-21 16:21 來源:讀書筆記網 作者:
  • 讀書筆記大全:俄狄浦斯王讀書筆記
    讀書筆記大全:俄狄浦斯王讀書筆記 2013-08-22 12:03 來源:讀書筆記網 作者:
  • 讀書筆記大全:格林童話讀書筆記
    讀書筆記大全:格林童話讀書筆記 2013-08-22 11:55 來源:讀書筆記網 作者:
  • 讀書筆記大全:教育教學讀書筆記
    讀書筆記大全:教育教學讀書筆記 2013-08-22 11:53 來源:讀書筆記網 作者:
  • 讀書筆記大全:海邊的卡夫卡讀書筆記
    讀書筆記大全:海邊的卡夫卡讀書筆記 2013-08-21 16:17 來源:讀書筆記網 作者:
  • 50字讀書筆記大全-讀書筆記摘抄
    ,將好的讀書筆記摘抄,大家可以參考範文,總結讀書筆記格式,了解讀書筆記怎麼寫。更多內容推薦: 讀書筆記大全:中外名著讀書筆記摘抄1031篇1101篇讀書筆記大全告訴你讀書筆記該怎麼寫   讀書筆記怎麼寫?
  • 讀書筆記大全:幼兒教師讀書筆記
    讀書筆記大全:幼兒教師讀書筆記 2013-08-22 11:44 來源:讀書筆記網 作者:
  • 讀書筆記大全:漂亮朋友讀書筆記
    讀書筆記大全:漂亮朋友讀書筆記 2013-08-22 12:01 來源:讀書筆記網 作者:
  • 如何寫讀書筆記?——不會寫讀書筆記等於不會讀書
    寫讀書筆記是非常重要的,簡單來說,不會寫讀書筆記就是不會讀書。就像是一個人到了寶山,遍地是寶,但是卻空手而歸。即使是帶著寫讀書筆記的想法去閱讀,最後的效果也是比泛泛而讀的效果好太多。這樣你閱讀的時候,是一種主動的狀態,而不是被動的狀態。
  • 讀書筆記怎麼寫?教你繪製思維導圖製作讀書筆記
    傳統的讀書筆記指讀書時把文中精彩的部分整理出來,或把認為對自己有讀書心得的內容記錄下來。適當的做一些讀書筆記可以幫助自己理解書籍內容和訓練自身閱讀能力,還能從側面加深對書籍的記憶力。你可曾想過用思維導圖製作讀書筆記?
  • 高價值的讀書筆記
    做完這些準備工作以後,就可以開始著手寫筆記了。2.寫讀書筆記在對書籍內容有了初步的了解以後,就可以一邊讀書,一邊寫讀書筆記了。我以前在寫讀書筆記時,一般會先構思好筆記的內容框架。然後再開始寫筆記,這樣會花費時間比較長。