本書是由行業(yè)專家精心編寫的SQL學(xué)習(xí)指南,內(nèi)容涵蓋數(shù)據(jù)庫(kù)基礎(chǔ)介紹、數(shù)據(jù)庫(kù)表的管理、數(shù)據(jù)的增刪改查、視圖、索引、存儲(chǔ)過(guò)程,以及基于不同業(yè)務(wù)場(chǎng)景的SQL查詢實(shí)踐。本書由淺入深地對(duì)SQL查詢進(jìn)行講解,在實(shí)踐方面,結(jié)合真實(shí)的業(yè)務(wù)場(chǎng)景,以互聯(lián)網(wǎng)電商、投資理財(cái)、網(wǎng)絡(luò)游戲、線下零售等為例,通過(guò)行業(yè)常用的查詢案例幫助讀者快速理解并掌握SQL查詢技能。
本書適合日常工作中需要使用數(shù)據(jù)庫(kù)并對(duì)數(shù)據(jù)庫(kù)表進(jìn)行操作的業(yè)務(wù)和技術(shù)人員,包括數(shù)據(jù)分析、數(shù)據(jù)運(yùn)營(yíng)、數(shù)據(jù)產(chǎn)品、市場(chǎng)渠道等人員。
暢銷書《數(shù)據(jù)分析從入門到進(jìn)階》作者新作,引領(lǐng)讀者輕松玩轉(zhuǎn)SQL增刪改、SQL查詢,是數(shù)據(jù)庫(kù)管理與數(shù)據(jù)分析手邊工具書。
身處互聯(lián)網(wǎng)時(shí)代,人們?cè)谙硎芸萍紟?lái)的便捷生活的同時(shí)也產(chǎn)生了大量的數(shù)據(jù),這些數(shù)據(jù)大都需要存放在數(shù)據(jù)庫(kù)中。數(shù)據(jù)的來(lái)源有很多,如消費(fèi)記錄、出行記錄、訪問(wèn)記錄、聊天記錄等。由于人們的行為和活動(dòng)產(chǎn)生且存放在數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有很高的價(jià)值,因此,用戶需要通過(guò)特定的語(yǔ)言來(lái)操作它。
SQL是一種數(shù)據(jù)庫(kù)查詢語(yǔ)言,是專門用來(lái)針對(duì)數(shù)據(jù)庫(kù)查詢和程序設(shè)計(jì)的語(yǔ)言,可以方便用戶存取數(shù)據(jù),以及查詢、更新和管理關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)。基于SQL的數(shù)據(jù)處理可以幫助用戶實(shí)現(xiàn)對(duì)不同的業(yè)務(wù)場(chǎng)景下的數(shù)據(jù)進(jìn)行增刪改查操作。除此之外,SQL是企業(yè)中數(shù)據(jù)分析、數(shù)據(jù)運(yùn)營(yíng)、數(shù)據(jù)產(chǎn)品、市場(chǎng)渠道等崗位的技能。通過(guò)SQL查詢出來(lái)的結(jié)果,可以幫助人們對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行預(yù)測(cè)、評(píng)估、復(fù)盤等,例如,銷售業(yè)務(wù)的分析、財(cái)務(wù)資金的流轉(zhuǎn)、活動(dòng)運(yùn)營(yíng)的復(fù)盤、運(yùn)營(yíng)策略的迭代等。
本書通過(guò)大量SQL查詢實(shí)踐案例,非常有針對(duì)性地講解了SQL在不同業(yè)務(wù)場(chǎng)景下的數(shù)據(jù)查詢技巧,業(yè)務(wù)場(chǎng)景包括互聯(lián)網(wǎng)電商、投資理財(cái)、網(wǎng)絡(luò)游戲、線下零售等。讀者可以由淺入深、循序漸進(jìn)地學(xué)習(xí),為基于SQL的數(shù)據(jù)查詢打下堅(jiān)實(shí)的基礎(chǔ)。以下是對(duì)本書內(nèi)容的概述。
本書內(nèi)容
第1章:進(jìn)入SQL世界——背景知識(shí)。本章介紹數(shù)據(jù)庫(kù)以及SQL的基礎(chǔ)知識(shí),并帶領(lǐng)讀者安裝并使用MySQL數(shù)據(jù)庫(kù),為后續(xù)的內(nèi)容打下基礎(chǔ)。
第2章:從基礎(chǔ)做起——數(shù)據(jù)庫(kù)表的管理。本章以學(xué)生選課考試數(shù)據(jù)的管理為例,介紹如何使用SQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)表的操作,包括數(shù)據(jù)庫(kù)、數(shù)據(jù)表、字段的增刪、數(shù)據(jù)表的約束等,從而幫助讀者掌握SQL的基本操作。
第3章:更上一層樓——數(shù)據(jù)的增刪改。本章以客戶交易訂單數(shù)據(jù)為例,帶領(lǐng)讀者熟練掌握SQL對(duì)數(shù)據(jù)的增刪改。
第4章:初探SQL核心——數(shù)據(jù)的基礎(chǔ)查詢。本章介紹SQL查詢語(yǔ)法的七個(gè)核心關(guān)鍵字,并以中介二手房成交數(shù)據(jù)為例,實(shí)現(xiàn)數(shù)據(jù)的SQL基礎(chǔ)查詢操作。
第5章:玩轉(zhuǎn)SQL函數(shù)與語(yǔ)法——數(shù)據(jù)的高級(jí)查詢。本章介紹SQL的常用函數(shù),并以門店電器零售數(shù)據(jù)為例,實(shí)現(xiàn)去重、聚合、分組、嵌套、關(guān)聯(lián)、合并等多種數(shù)據(jù)的高級(jí)查詢。
第6章:封裝SQL語(yǔ)句的表——視圖的增刪與查詢。本章介紹視圖的優(yōu)缺點(diǎn),并以客戶App貸款數(shù)據(jù)為例,帶領(lǐng)讀者掌握視圖的增刪以及查詢功能。
第7章:提高查詢效率的“法寶”——索引。本章介紹索引的作用,并以客戶銀行理財(cái)數(shù)據(jù)為例,介紹不同索引類型的創(chuàng)建、刪除,以及需要注意的事項(xiàng)。
第8章:實(shí)現(xiàn)特定功能的SQL語(yǔ)句集——存儲(chǔ)過(guò)程的增刪與調(diào)用。本章介紹為什么要使用存儲(chǔ)過(guò)程,以及它的優(yōu)缺點(diǎn),并以旅客在線訂房數(shù)據(jù)為例,實(shí)現(xiàn)SQL存儲(chǔ)過(guò)程的創(chuàng)建、刪除和調(diào)用。
第9章:舉一反三——SQL查詢綜合實(shí)踐。本章通過(guò)5個(gè)不同應(yīng)用場(chǎng)景的綜合實(shí)踐案例,帶領(lǐng)讀者熟練掌握SQL的核心應(yīng)用——數(shù)據(jù)查詢。
本書特點(diǎn)
?由淺入深,循序漸進(jìn):本書從數(shù)據(jù)庫(kù)的介紹到SQL查詢實(shí)踐,內(nèi)容逐步深入,知識(shí)點(diǎn)環(huán)環(huán)相扣,整個(gè)框架和內(nèi)容符合剛?cè)腴T的讀者對(duì)學(xué)習(xí)SQL的需求。
?案例豐富,輕松易學(xué):本書在進(jìn)行SQL查詢實(shí)踐時(shí)結(jié)合了大量的業(yè)務(wù)場(chǎng)景,能夠讓讀者在掌握SQL查詢技術(shù)的同時(shí),快速融入真實(shí)業(yè)務(wù)場(chǎng)景;知識(shí)點(diǎn)簡(jiǎn)單、易學(xué)。
?內(nèi)容全面,講解詳細(xì):本書涵蓋數(shù)據(jù)庫(kù)基礎(chǔ)介紹、數(shù)據(jù)庫(kù)表的管理、數(shù)據(jù)的增刪改查、視圖、索引、存儲(chǔ)過(guò)程,以及基于不同業(yè)務(wù)場(chǎng)景的SQL查詢實(shí)戰(zhàn);SQL知識(shí)點(diǎn)覆蓋全面,內(nèi)容講解非常詳細(xì),方便讀者快速上手。
?配套資源豐富,免費(fèi)提供:本書中的案例涉及的數(shù)據(jù)集、代碼等資源都免費(fèi)提供給讀者學(xué)習(xí)使用,可通過(guò)掃描封底二維碼“IT有得聊”獲取。
適用對(duì)象
本書適合日常工作中需要使用數(shù)據(jù)庫(kù)并對(duì)數(shù)據(jù)庫(kù)表進(jìn)行操作的業(yè)務(wù)人員和技術(shù)人員,包括數(shù)據(jù)分析、數(shù)據(jù)運(yùn)營(yíng)、數(shù)據(jù)產(chǎn)品、市場(chǎng)渠道等人員。
致謝
感謝家人對(duì)我寫作的支持和理解。感謝領(lǐng)導(dǎo)肖萬(wàn)喜、秦芳棟和同事談沙沙、宋博韜、曹以璠、鐘子涵對(duì)本書提出的寶貴建議。感謝機(jī)械工業(yè)出版社策劃編輯王斌的修改和建議。由于作者水平有限,書中難免出現(xiàn)錯(cuò)誤和不足之處,敬請(qǐng)廣大讀者批評(píng)指正。
感謝您購(gòu)買本書,希望本書成為您SQL入門的領(lǐng)航者。
陳紅波
2023年4月3日
陳紅波,暢銷書《數(shù)據(jù)分析從入門到進(jìn)階》作者,曾就職于國(guó)內(nèi)大型金融、游戲、電商公司的數(shù)據(jù)部門,擔(dān)任數(shù)據(jù)分析專家一職,具有豐富的行業(yè)數(shù)據(jù)分析經(jīng)驗(yàn)。目前主要負(fù)責(zé)企業(yè)數(shù)據(jù)部門的管理工作,內(nèi)容包括數(shù)據(jù)治理、報(bào)表架構(gòu)、數(shù)據(jù)支持、業(yè)務(wù)分析、數(shù)據(jù)挖掘等。
前言
第1章 進(jìn)入SQL世界—背景知識(shí)1
1.1 數(shù)據(jù)庫(kù)簡(jiǎn)介1
1.1.1 數(shù)據(jù)庫(kù)是什么1
1.1.2 數(shù)據(jù)庫(kù)的作用1
1.1.3 數(shù)據(jù)庫(kù)的類型2
1.1.4 數(shù)據(jù)庫(kù)管理系統(tǒng)4
1.2 SQL簡(jiǎn)介4
1.2.1 SQL是什么4
1.2.2 SQL的作用5
1.2.3 SQL書寫規(guī)則6
1.2.4 SQL示例8
1.2.5 SQL與數(shù)據(jù)分析8
1.3 安裝并使用MySQL數(shù)據(jù)庫(kù)8
第2章 從基礎(chǔ)做起—數(shù)據(jù)庫(kù)表的管理13
2.1 數(shù)據(jù)庫(kù)的增刪13
2.1.1 數(shù)據(jù)庫(kù)的創(chuàng)建13
2.1.2 數(shù)據(jù)庫(kù)的刪除14
2.1.3 數(shù)據(jù)庫(kù)的選擇14
2.2 數(shù)據(jù)表的增刪15
2.2.1 數(shù)據(jù)類型15
2.2.2 數(shù)據(jù)表的創(chuàng)建17
2.2.3 數(shù)據(jù)表的重命名20
2.2.4 數(shù)據(jù)表的刪除21
2.3 字段的增刪21
2.3.1 字段的創(chuàng)建21
2.3.2 字段類型的修改22
2.3.3 字段的重命名23
2.3.4 字段的刪除23
2.4 數(shù)據(jù)表的約束24
2.4.1 約束的作用與類型24
2.4.2 約束的設(shè)置24
2.4.3 約束的刪除與修改36
第3章 更上一層樓—數(shù)據(jù)的增刪改38
3.1 SQL編程基礎(chǔ)知識(shí)39
3.1.1 運(yùn)算符39
3.1.2 運(yùn)算符優(yōu)先級(jí)44
3.1.3 謂詞45
3.2 數(shù)據(jù)的插入53
3.2.1 單行數(shù)據(jù)插入53
3.2.2 多行數(shù)據(jù)插入55
3.2.3 查詢數(shù)據(jù)插入56
3.3 數(shù)據(jù)的刪除59
3.3.1 數(shù)據(jù)的全部刪除59
3.3.2 數(shù)據(jù)的部分刪除60
3.4 數(shù)據(jù)的修改61
3.4.1 單字段數(shù)據(jù)修改61
3.4.2 多字段數(shù)據(jù)修改62
第4章 初探SQL核心—數(shù)據(jù)的基礎(chǔ)查詢64
4.1 查詢語(yǔ)法的七個(gè)核心關(guān)鍵字65
4.2 字段的處理查詢78
4.2.1 常量字段78
4.2.2 字段的計(jì)算80
4.2.3 字段的拼接81
4.2.4 字段的別名83
4.3 高級(jí)過(guò)濾字段查詢85
4.3.1 高級(jí)模糊匹配85
4.3.2 多字段過(guò)濾查詢87
第5章 玩轉(zhuǎn)SQL函數(shù)與語(yǔ)法—數(shù)據(jù)的高級(jí)查詢89
5.1 SQL常用函數(shù)91
5.1.1 數(shù)值函數(shù)91
5.1.2 字符串函數(shù)96
5.1.3 日期和時(shí)間函數(shù)104
5.1.4 其他函數(shù)122
5.2 去重查詢128
5.3 嵌套查詢131
5.3.1 常量值的子查詢131
5.3.2 表的子查詢133
5.4 關(guān)聯(lián)查詢135
5.4.1 內(nèi)關(guān)聯(lián)137
5.4.2 左關(guān)聯(lián)139
5.4.3 右關(guān)聯(lián)140
5.4.4 全關(guān)聯(lián)141
5.5 合并查詢143
5.5.1 去重合并查詢143
5.5.2 不去重合并查詢144
5.6 分組排序查詢145
5.7 轉(zhuǎn)置查詢149
第6章 封裝SQL語(yǔ)句的表—視圖的增刪與查詢153
6.1 視圖的創(chuàng)建155
6.1.1 單表視圖的創(chuàng)建156
6.1.2 多表視圖的創(chuàng)建157
6.2 視圖的刪除158
6.3 視圖的修改158
6.4 視圖的查詢162
第7章 提高查詢效率的“法寶”—索引164
7.1 索引的功能與類型介紹164
7.2 常見(jiàn)索引類型的創(chuàng)建165
7.2.1 普通索引165
7.2.2 唯一索引167
7.2.3 主鍵索引169
7.3 常見(jiàn)索引類型的刪除172
7.4 關(guān)于索引類型的注意事項(xiàng)172
7.4.1 是否適合建立索引173
7.4.2 如何正確使用索引173
第8章 實(shí)現(xiàn)特定功能的SQL語(yǔ)句集—存儲(chǔ)過(guò)程的增刪與調(diào)用174
8.1 存儲(chǔ)過(guò)程的創(chuàng)建176
8.2 存儲(chǔ)過(guò)程的刪除178
8.3 存儲(chǔ)過(guò)程的調(diào)用178
第9章 舉一反三—SQL查詢綜合實(shí)踐181
9.1 學(xué)生信息和選課考試成績(jī)查詢181
9.1.1 學(xué)生信息和選課考試成績(jī)查詢相關(guān)數(shù)據(jù)表的創(chuàng)建181
9.1.2 學(xué)生信息和選課考試成績(jī)查詢實(shí)踐183
9.2 電商零售數(shù)據(jù)查詢208
9.2.1 電商零售數(shù)據(jù)查詢相關(guān)數(shù)據(jù)表的創(chuàng)建208
9.2.2 電商零售數(shù)據(jù)查詢實(shí)踐211
9.3 互聯(lián)網(wǎng)金融投資理財(cái)數(shù)據(jù)查詢231
9.3.1 互聯(lián)網(wǎng)金融投資理財(cái)數(shù)據(jù)查詢相關(guān)數(shù)據(jù)表的創(chuàng)建231
9.3.2 互聯(lián)網(wǎng)金融投資理財(cái)數(shù)據(jù)查詢實(shí)踐235
9.4 社交網(wǎng)絡(luò)游戲數(shù)據(jù)查詢252
9.4.1 社交網(wǎng)絡(luò)游戲數(shù)據(jù)查詢相關(guān)數(shù)據(jù)表的創(chuàng)建253
9.4.2 社交網(wǎng)絡(luò)游戲數(shù)據(jù)查詢實(shí)踐257
9.5 線下實(shí)體店銷售數(shù)據(jù)查詢276
9.5.1 線下實(shí)體店銷售數(shù)據(jù)查詢相關(guān)數(shù)據(jù)表的創(chuàng)建276
9.5.2 線下實(shí)體店銷售數(shù)據(jù)查詢實(shí)踐282