注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)數(shù)據(jù)庫精講MySQL復(fù)雜查詢

精講MySQL復(fù)雜查詢

精講MySQL復(fù)雜查詢

定 價:¥79.00

作 者: 張方興
出版社: 清華大學(xué)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787302653509 出版時間: 2024-02-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  本書根據(jù)各個公司的SQL復(fù)雜查詢面試題進行編寫,可以更好輔助讀者進行針對性的學(xué)習(xí)。尤其每個SQL復(fù)雜查詢面試題都通過步驟的形式進行解讀,而非直接擺出一個答案。對比答案而言,解題思路更為重要。希望學(xué)習(xí)本書之后,讀者可以擁有一份自己針對復(fù)雜查詢的解題思路。本書共13章,分別對應(yīng)SQL語句的查詢基礎(chǔ)、多表聯(lián)查、元數(shù)據(jù)的查詢與管理、字符串的查詢與處理、數(shù)字的查詢與處理、日期的查詢與處理、JSON和XML的查詢與處理、結(jié)果集的查詢與處理、視圖與臨時表、存儲過程與預(yù)編譯語句、觸發(fā)器與自定義函數(shù)、事務(wù)與鎖、數(shù)據(jù)庫備份、復(fù)雜查詢面試題等相關(guān)內(nèi)容。作者精心設(shè)計多種案例與復(fù)雜查詢題目,非隨意擺出的“難題”,而是基于工作時積攢的業(yè)務(wù)場景。本書適合初學(xué)者入門,適合準(zhǔn)備開始面試的學(xué)生進行面試準(zhǔn)備,適合開發(fā)多年卻仍然對復(fù)雜查詢心有余悸的程序員,并可作為高等院校和培訓(xùn)機構(gòu)相關(guān)專業(yè)的教學(xué)參考書。

作者簡介

  張方興,多年一線開發(fā)程序員,著有《微服務(wù)分布式架構(gòu)基礎(chǔ)與實戰(zhàn):基于Spring Boot Spring Cloud》《高性能Java架構(gòu):核心原理與案例實戰(zhàn)》《鴻蒙入門:HarmonyOS應(yīng)用開發(fā)》。

圖書目錄

本書源碼
 
教學(xué)課件(PPT)
 
 
第1章SQL語句基礎(chǔ)與精講select關(guān)鍵字
1.1SQL查詢語句基礎(chǔ)
1.1.1SQL簡介
1.1.2SQL的語句類型
1.1.3關(guān)系數(shù)據(jù)庫的組成
1.1.4查詢語句的基本規(guī)則
1.1.5dual虛擬表
1.1.6數(shù)字計算符號的特殊情況
1.2精講select關(guān)鍵字
1.2.1select常規(guī)語法
1.2.2distinct關(guān)鍵字
1.2.3straight_join關(guān)鍵字
1.2.4sql_result關(guān)鍵字
1.2.5sql_cache關(guān)鍵字
1.2.6group by與having關(guān)鍵字
1.2.7order by關(guān)鍵字
1.2.8with rollup關(guān)鍵字
1.2.9window關(guān)鍵字
1.2.10limit與offset關(guān)鍵字
1.2.11limit分頁相關(guān)公式
1.2.12for關(guān)鍵字
1.3MySQL 8.0的內(nèi)置函數(shù)與幫助
1.3.1了解MySQL自帶的實例庫
1.3.2通過MySQL 8.0內(nèi)置文檔了解MySQL 8.0函數(shù)
1.4條件查詢
1.4.1MySQL中的比較運算符
1.4.2like關(guān)鍵字
1.4.3strcmp()函數(shù)
1.4.4MySQL中的正則表達式語法
第2章子查詢與連接查詢
2.1子查詢
2.1.1子查詢的作用
2.1.2子查詢作為列值
2.1.3外層嵌套子查詢
2.1.4使用子查詢進行比較
2.1.5子查詢的相關(guān)關(guān)鍵字
2.1.6行內(nèi)子查詢與構(gòu)造表達式
2.1.7子查詢作為派生表
2.2連接查詢
2.2.1連接查詢語句
2.2.2笛卡兒積
2.2.3交叉連接
2.2.4左連接
2.2.5右連接
2.2.6拼接
2.2.7全連接
2.2.8內(nèi)連接
2.2.9并集去交集
2.2.10自連接
第3章MySQL元數(shù)據(jù)相關(guān)查詢
3.1show關(guān)鍵字
3.1.1show關(guān)鍵字查看某實例庫中含有的表
3.1.2show關(guān)鍵字查看表結(jié)構(gòu)
3.1.3show關(guān)鍵字查看binlog日志
3.1.4show關(guān)鍵字查看相關(guān)創(chuàng)建語句信息
3.1.5show關(guān)鍵字查看MySQL支持哪些引擎
3.2數(shù)據(jù)庫的系統(tǒng)變量元數(shù)據(jù)與set關(guān)鍵字
3.2.1set關(guān)鍵字用于用戶自定義變量
3.2.2set關(guān)鍵字用于環(huán)境變量
3.2.3sql_mode變量
3.2.4根據(jù)用戶自定義變量增加列的行號
3.3表的元數(shù)據(jù)
3.3.1表的元數(shù)據(jù)查詢
3.3.2表信息中的row_format字段
3.3.3表信息中的data_free字段
3.3.4MySQL各表占用磁盤空間計算方式
3.3.5利用optimize關(guān)鍵字優(yōu)化空間碎片
3.3.6查看表中的約束
3.4列的元數(shù)據(jù)
3.5用戶權(quán)限的元數(shù)據(jù)
3.5.1查詢當(dāng)前MySQL中含有哪些用戶
3.5.2用戶的操作權(quán)限
3.5.3表的操作權(quán)限
3.5.4列的操作權(quán)限
第4章SQL字符串的查詢與處理
4.1MySQL 8.0中的字符串
4.1.1字符、字符集與字符串
4.1.2字符集與排序
4.1.3字符串各數(shù)據(jù)類型的存儲空間
4.1.4char類型與varchar類型
4.1.5varchar類型的長度誤區(qū)
4.1.6binary類型與varbinary類型
4.1.7blob類型與text類型
4.1.8enmu類型
4.1.9set類型
4.2字符串相關(guān)常用函數(shù)
4.2.1concat()函數(shù)(多列拼接)
4.2.2group_concat()函數(shù)(多行拼接)
4.2.3replace()函數(shù)
4.2.4regexp_substr()函數(shù)
4.2.5substr()函數(shù)與substring()函數(shù)
4.2.6substring_index()函數(shù)
4.2.7instr()函數(shù)與locate()函數(shù)
4.2.8length()函數(shù)
4.2.9reverse()函數(shù)
4.2.10right()函數(shù)與left()函數(shù)
4.2.11rpad()函數(shù)
4.2.12space()函數(shù)
4.2.13trim()、rtrim()、ltrim()函數(shù)
4.2.14upper()函數(shù)與lower()函數(shù)
4.2.15repeat()函數(shù)
4.2.16insert()函數(shù)
4.2.17elt()函數(shù)
4.2.18concat_ws()函數(shù)
4.3MySQL 8.0處理字符串相關(guān)的復(fù)雜查詢
4.3.1查詢總經(jīng)理名稱并增加單引號
4.3.2將數(shù)字?jǐn)?shù)據(jù)和字符數(shù)據(jù)分開
4.3.3計算字符串中特定字符出現(xiàn)的次數(shù)
4.3.4提取分隔符數(shù)據(jù)中的第N個數(shù)據(jù)
第5章SQL數(shù)字的查詢與處理
5.1MySQL 8.0的數(shù)字
5.1.1MySQL 8.0中的數(shù)字類型
5.1.2tinyint類型、bool類型、boolean類型
5.1.3無符號整數(shù)類型
5.1.4數(shù)字類型的精度
5.2數(shù)字常用函數(shù)與運算符
5.2.1div()函數(shù)
5.2.2abs()函數(shù)
5.2.3ceiling()函數(shù)
5.2.4floor()函數(shù)
5.2.5pow()函數(shù)和power()函數(shù)
5.2.6rand()函數(shù)
5.2.7truncate()函數(shù)
5.3聚合函數(shù)
5.3.1count(distinct)函數(shù)
5.3.2查詢每個部門的平均薪資
5.3.3查詢每個部門的薪資最高與最低的人(攜帶提成)
5.3.4查詢每個部門的薪資總額
5.3.5查詢每個部門有多少人
5.3.6查詢每個部門有多少人沒有提成
5.3.7查詢某個部門薪資占全公司的百分比
5.4窗口函數(shù)
5.4.1窗口函數(shù)的語法
5.4.2初步使用窗口函數(shù)
5.4.3partition by關(guān)鍵字
5.4.4order by關(guān)鍵字
5.4.5rank()函數(shù)
5.4.6dense_rank()函數(shù)
5.4.7percent_rank()函數(shù)
5.4.8ntile()函數(shù)
5.5聚合函數(shù)窗口化
5.6MySQL 8.0處理數(shù)字相關(guān)的復(fù)雜查詢
5.6.1計算眾數(shù)
5.6.2計算中值
第6章SQL日期的查詢與處理
6.1MySQL 8.0的日期
6.1.1MySQL 8.0中的日期類型
6.1.2date類型
6.1.3datetime類型
6.1.4time類型
6.1.5year類型
6.2獲取當(dāng)前日期和時間函數(shù)
6.3日期的運算
6.4日期的比較
6.5日期的區(qū)間
6.6MySQL 8.0中的時區(qū)
6.7日期相關(guān)常用函數(shù)
6.7.1adddate()與date_sub()
6.7.2addtime()
6.7.3date()和time()
6.7.4timestamp()
6.7.5datediff()
6.7.6timediff()
6.7.7timestampdiff()
6.7.8day()等提取函數(shù)
6.7.9dayname()
6.7.10dayofweek()和dayofyear()
6.7.11extract()
6.7.12from_unixtime()
6.7.13str_to_date()與date_format()
6.7.14get_format()
6.7.15sec_to_time()
6.8MySQL 8.0處理日期相關(guān)的復(fù)雜查詢
6.8.1張三今年多少歲
6.8.2判斷今年是不是閏年
第7章SQL對JSON與XML的查詢與處理
7.1MySQL 8.0的JSON
7.1.1JSON類型的使用場景
7.1.2初識MySQL 8.0中的JSON類型
7.2JSON相關(guān)常用函數(shù)
7.2.1json_object()
7.2.2json_array()
7.2.3json_valid()
7.2.4json_contains()
7.2.5json_contains_path()
7.2.6json_extract()
7.2.7json_unquote()
7.2.8json_search()
7.2.9“-”符號和“-”符號
7.2.10json_keys()
7.2.11json_value()
7.3MySQL 8.0的XML
7.4XML相關(guān)常用函數(shù)
7.4.1extractvalue()
7.4.2updatexml()
第8章SQL對結(jié)果集的查詢與處理
8.1MySQL 8.0的結(jié)果集
8.1.1什么是處理結(jié)果集
8.1.2處理結(jié)果集的方式
8.2條件判斷函數(shù)
8.2.1if()函數(shù)
8.2.2case關(guān)鍵字
8.3表的展示方式
8.3.1橫表與縱表
8.3.2將縱表讀取為橫表進行展示
8.3.3將橫表讀取為縱表進行展示——union all寫法
8.3.4將橫表讀取為縱表進行展示——max()函數(shù)寫法
8.4MySQL 8.0處理結(jié)果集相關(guān)的復(fù)雜查詢
8.4.1將一行分割為多行
8.4.2將多行合并為一行(合并為分隔符數(shù)據(jù))
8.4.3將多列合并為一列
8.4.4將一列分割為多列
第9章MySQL的視圖與臨時表
9.1MySQL 8.0的視圖
9.1.1概念
9.1.2語法
9.1.3使用示例
9.1.4管理
9.2MySQL 8.0的with as關(guān)鍵字
9.2.1概念
9.2.2語法
9.2.3使用示例
9.3MySQL 8.0的臨時表
9.3.1概念
9.3.2語法
9.3.3使用示例
9.3.4臨時復(fù)制表
9.4MySQL 8.0的內(nèi)存表
9.4.1概念
9.4.2MySQL 8.0內(nèi)存表和臨時表的區(qū)別
9.4.3語法
9.4.4使用示例
9.4.5管理
第10章MySQL的存儲過程與預(yù)編譯語句
10.1MySQL 8.0存儲過程概念
10.1.1無參存儲過程的創(chuàng)建與調(diào)用
10.1.2查看MySQL當(dāng)前含有的存儲過程
10.1.3刪除存儲過程
10.1.4體驗存儲過程中含有部分報錯
10.2MySQL 8.0存儲過程的參數(shù)
10.2.1in參數(shù)
10.2.2out參數(shù)
10.2.3inout參數(shù)
10.3MySQL 8.0存儲過程的控制流
10.3.1declare關(guān)鍵字
10.3.2set關(guān)鍵字
10.3.3if關(guān)鍵字
10.3.4case關(guān)鍵字
10.3.5while關(guān)鍵字
10.3.6repeat關(guān)鍵字
10.3.7leave關(guān)鍵字
10.3.8iterate條件語句
10.4游標(biāo)
10.4.1SQL中游標(biāo)的概念
10.4.2存儲過程中游標(biāo)的概念
10.5MySQL 8.0的預(yù)編譯語句
10.5.1概念
10.5.2特性
10.5.3預(yù)編譯語句與存儲過程的區(qū)別
10.5.4創(chuàng)建無參預(yù)編譯語句
10.5.5創(chuàng)建有參預(yù)編譯語句
10.5.6管理及刪除預(yù)編譯語句
第11章MySQL的觸發(fā)器和自定義函數(shù)
11.1MySQL 8.0觸發(fā)器概念
11.1.1觸發(fā)器特點
11.1.2觸發(fā)器語法
11.1.3觸發(fā)器示例
11.1.4觸發(fā)器管理
11.1.5觸發(fā)器的刪除
11.2MySQL 8.0自定義函數(shù)概念
11.2.1自定義函數(shù)的優(yōu)點
11.2.2自定義函數(shù)的語法
11.2.3自定義函數(shù)示例
11.2.4管理及刪除自定義函數(shù)
11.3signal sqlstate拋出異常概念
11.3.1在觸發(fā)器中使用signal語句
11.3.2在函數(shù)中使用signal語句
11.3.3在存儲過程中使用signal語句
第12章MySQL的事務(wù)與鎖
12.1事務(wù)概念
12.1.1事務(wù)的關(guān)鍵字
12.1.2事務(wù)的四大特性
12.1.3事務(wù)的保存點savepoint 
12.1.4事務(wù)在存儲過程、觸發(fā)器、自定義函數(shù)中的使用
12.2鎖的概念
12.2.1行級鎖的概念
12.2.2表級鎖的概念
12.2.3事務(wù)的隔離級別
12.2.4死鎖的檢測與解決
第13章MySQL備份與復(fù)雜查詢面試題
13.1備份工具mysqldump
13.1.1使用mysqldump以SQL格式轉(zhuǎn)儲數(shù)據(jù)
13.1.2重新加載SQL格式備份
13.1.3使用mysqldump以分割文本格式轉(zhuǎn)儲數(shù)據(jù)
13.1.4重新加載分隔文本格式備份
13.1.5mysqldump小技巧
13.2復(fù)雜查詢面試題——動漫評分
13.2.1涉及的表
13.2.2解題步驟
13.3復(fù)雜查詢面試題——查詢連續(xù)出現(xiàn)3次的數(shù)字
13.3.1涉及的表
13.3.2解題步驟——虛擬連接方式
13.3.3解題步驟——變量方式
13.4復(fù)雜查詢面試題——訂單退款率
13.4.1涉及的表
13.4.2解題步驟
附錄ASQL語句分類
A.1MySQL 8.0的SQL語句分類
A.1.1數(shù)據(jù)定義類語句
A.1.2數(shù)據(jù)操作類語句
A.1.3事務(wù)和鎖定類語句
A.1.4集群復(fù)制類語句
A.1.5預(yù)編譯類語句
A.1.6存儲過程類語句
A.1.7數(shù)據(jù)庫管理類語句
A.1.8數(shù)據(jù)庫工具類語句
A.2本書測試表的相關(guān)數(shù)據(jù)及結(jié)構(gòu)
A.2.1學(xué)校系列表結(jié)構(gòu)
A.2.2公司系列表結(jié)構(gòu)
 
 

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號