- ISBN:9787302653509
- 装帧:平装-胶订
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:312
- 出版时间:2024-02-01
- 条形码:9787302653509 ; 978-7-302-65350-9
本书特色
1. 专注于MySQL复杂查询,一门关系型数据库学好之后学习其他数据库就会触类旁通、特别轻松。
2. 专注于企业级SQL复杂查询,不止学术领域,更多针对就业相关实例的指导。
3. 携带SQL复杂查询面试题,可以方便就业面试时进行针对性复习。
4. 专注于解决思路思想和演化过程。
内容简介
本书根据各个公司的SQL复杂查询面试题进行编写,可以更好辅助读者进行针对性的学习。尤其每个SQL复杂查询面试题都通过步骤的形式进行解读,而非直接摆出一个答案。对比答案而言,解题思路更为重要。希望学习本书之后,读者可以拥有一份自己针对复杂查询的解题思路。 本书共13章,分别对应SQL语句的查询基础、多表联查、元数据的查询与管理、字符串的查询与处理、数字的查询与处理、日期的查询与处理、JSON和XML的查询与处理、结果集的查询与处理、视图与临时表、存储过程与预编译语句、触发器与自定义函数、事务与锁、数据库备份、复杂查询面试题等相关内容。 作者精心设计多种案例与复杂查询题目,非随意摆出的“难题”,而是基于工作时积攒的业务场景。本书适合初学者入门,适合准备开始面试的学生进行面试准备,适合开发多年却仍然对复杂查询心有余悸的程序员,并可作为高等院校和培训机构相关专业的教学参考书。
目录
教学课件(PPT) 第1章SQL语句基础与精讲select关键字 1.1SQL查询语句基础 1.1.1SQL简介 1.1.2SQL的语句类型 1.1.3关系数据库的组成 1.1.4查询语句的基本规则 1.1.5dual虚拟表 1.1.6数字计算符号的特殊情况 1.2精讲select关键字 1.2.1select常规语法 1.2.2distinct关键字 1.2.3straight_join关键字 1.2.4sql_result关键字 1.2.5sql_cache关键字 1.2.6group by与having关键字 1.2.7order by关键字 1.2.8with rollup关键字 1.2.9window关键字 1.2.10limit与offset关键字 1.2.11limit分页相关公式 1.2.12for关键字 1.3MySQL 8.0的内置函数与帮助 1.3.1了解MySQL自带的实例库 1.3.2通过MySQL 8.0内置文档了解MySQL 8.0函数 1.4条件查询 1.4.1MySQL中的比较运算符 1.4.2like关键字 1.4.3strcmp()函数 1.4.4MySQL中的正则表达式语法
第2章子查询与连接查询 2.1子查询 2.1.1子查询的作用 2.1.2子查询作为列值 2.1.3外层嵌套子查询 2.1.4使用子查询进行比较 2.1.5子查询的相关关键字 2.1.6行内子查询与构造表达式 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内连接 2.2.9并集去交集 2.2.10自连接 第3章MySQL元数据相关查询 3.1show关键字 3.1.1show关键字查看某实例库中含有的表 3.1.2show关键字查看表结构 3.1.3show关键字查看binlog日志 3.1.4show关键字查看相关创建语句信息 3.1.5show关键字查看MySQL支持哪些引擎 3.2数据库的系统变量元数据与set关键字 3.2.1set关键字用于用户自定义变量 3.2.2set关键字用于环境变量 3.2.3sql_mode变量 3.2.4根据用户自定义变量增加列的行号 3.3表的元数据 3.3.1表的元数据查询 3.3.2表信息中的row_format字段 3.3.3表信息中的data_free字段 3.3.4MySQL各表占用磁盘空间计算方式 3.3.5利用optimize关键字优化空间碎片 3.3.6查看表中的约束 3.4列的元数据 3.5用户权限的元数据 3.5.1查询当前MySQL中含有哪些用户 3.5.2用户的操作权限 3.5.3表的操作权限 3.5.4列的操作权限 第4章SQL字符串的查询与处理 4.1MySQL 8.0中的字符串 4.1.1字符、字符集与字符串 4.1.2字符集与排序 4.1.3字符串各数据类型的存储空间 4.1.4char类型与varchar类型 4.1.5varchar类型的长度误区 4.1.6binary类型与varbinary类型 4.1.7blob类型与text类型 4.1.8enmu类型 4.1.9set类型 4.2字符串相关常用函数 4.2.1concat()函数(多列拼接) 4.2.2group_concat()函数(多行拼接) 4.2.3replace()函数 4.2.4regexp_substr()函数 4.2.5substr()函数与substring()函数 4.2.6substring_index()函数 4.2.7instr()函数与locate()函数 4.2.8length()函数 4.2.9reverse()函数 4.2.10right()函数与left()函数 4.2.11rpad()函数 4.2.12space()函数 4.2.13trim()、rtrim()、ltrim()函数 4.2.14upper()函数与lower()函数 4.2.15repeat()函数 4.2.16insert()函数 4.2.17elt()函数 4.2.18concat_ws()函数 4.3MySQL 8.0处理字符串相关的复杂查询 4.3.1查询总经理名称并增加单引号 4.3.2将数字数据和字符数据分开 4.3.3计算字符串中特定字符出现的次数 4.3.4提取分隔符数据中的第N个数据 第5章SQL数字的查询与处理 5.1MySQL 8.0的数字 5.1.1MySQL 8.0中的数字类型 5.1.2tinyint类型、bool类型、boolean类型 5.1.3无符号整数类型 5.1.4数字类型的精度 5.2数字常用函数与运算符 5.2.1div()函数 5.2.2abs()函数 5.2.3ceiling()函数 5.2.4floor()函数 5.2.5pow()函数和power()函数 5.2.6rand()函数 5.2.7truncate()函数 5.3聚合函数 5.3.1count(distinct)函数 5.3.2查询每个部门的平均薪资 5.3.3查询每个部门的薪资*高与*低的人(携带提成) 5.3.4查询每个部门的薪资总额 5.3.5查询每个部门有多少人 5.3.6查询每个部门有多少人没有提成 5.3.7查询某个部门薪资占全公司的百分比 5.4窗口函数 5.4.1窗口函数的语法 5.4.2初步使用窗口函数 5.4.3partition by关键字 5.4.4order by关键字 5.4.5rank()函数 5.4.6dense_rank()函数 5.4.7percent_rank()函数 5.4.8ntile()函数 5.5聚合函数窗口化 5.6MySQL 8.0处理数字相关的复杂查询 5.6.1计算众数 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获取当前日期和时间函数 6.3日期的运算 6.4日期的比较 6.5日期的区间 6.6MySQL 8.0中的时区 6.7日期相关常用函数 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()等提取函数 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处理日期相关的复杂查询 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相关常用函数 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相关常用函数 7.4.1extractvalue() 7.4.2updatexml() 第8章SQL对结果集的查询与处理 8.1MySQL 8.0的结果集 8.1.1什么是处理结果集 8.1.2处理结果集的方式 8.2条件判断函数 8.2.1if()函数 8.2.2case关键字 8.3表的展示方式 8.3.1横表与纵表 8.3.2将纵表读取为横表进行展示 8.3.3将横表读取为纵表进行展示——union all写法 8.3.4将横表读取为纵表进行展示——max()函数写法 8.4MySQL 8.0处理结果集相关的复杂查询 8.4.1将一行分割为多行 8.4.2将多行合并为一行(合并为分隔符数据) 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关键字 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临时复制表 9.4MySQL 8.0的内存表 9.4.1概念 9.4.2MySQL 8.0内存表和临时表的区别 9.4.3语法 9.4.4使用示例 9.4.5管理 第10章MySQL的存储过程与预编译语句 10.1MySQL 8.0存储过程概念 10.1.1无参存储过程的创建与调用 10.1.2查看MySQL当前含有的存储过程 10.1.3删除存储过程 10.1.4体验存储过程中含有部分报错 10.2MySQL 8.0存储过程的参数 10.2.1in参数 10.2.2out参数 10.2.3inout参数 10.3MySQL 8.0存储过程的控制流 10.3.1declare关键字 10.3.2set关键字 10.3.3if关键字 10.3.4case关键字 10.3.5while关键字 10.3.6repeat关键字 10.3.7leave关键字 10.3.8iterate条件语句 10.4游标 10.4.1SQL中游标的概念 10.4.2存储过程中游标的概念 10.5MySQL 8.0的预编译语句 10.5.1概念 10.5.2特性 10.5.3预编译语句与存储过程的区别 10.5.4创建无参预编译语句 10.5.5创建有参预编译语句 10.5.6管理及删除预编译语句 第11章MySQL的触发器和自定义函数 11.1MySQL 8.0触发器概念 11.1.1触发器特点 11.1.2触发器语法 11.1.3触发器示例 11.1.4触发器管理 11.1.5触发器的删除 11.2MySQL 8.0自定义函数概念 11.2.1自定义函数的优点 11.2.2自定义函数的语法 11.2.3自定义函数示例 11.2.4管理及删除自定义函数 11.3signal sqlstate抛出异常概念 11.3.1在触发器中使用signal语句 11.3.2在函数中使用signal语句 11.3.3在存储过程中使用signal语句 第12章MySQL的事务与锁 12.1事务概念 12.1.1事务的关键字 12.1.2事务的四大特性 12.1.3事务的保存点savepoint 12.1.4事务在存储过程、触发器、自定义函数中的使用 12.2锁的概念 12.2.1行级锁的概念 12.2.2表级锁的概念 12.2.3事务的隔离级别 12.2.4死锁的检测与解决 第13章MySQL备份与复杂查询面试题 13.1备份工具mysqldump 13.1.1使用mysqldump以SQL格式转储数据 13.1.2重新加载SQL格式备份 13.1.3使用mysqldump以分割文本格式转储数据 13.1.4重新加载分隔文本格式备份 13.1.5mysqldump小技巧 13.2复杂查询面试题——动漫评分 13.2.1涉及的表 13.2.2解题步骤 13.3复杂查询面试题——查询连续出现3次的数字 13.3.1涉及的表 13.3.2解题步骤——虚拟连接方式 13.3.3解题步骤——变量方式 13.4复杂查询面试题——订单退款率 13.4.1涉及的表 13.4.2解题步骤 附录ASQL语句分类 A.1MySQL 8.0的SQL语句分类 A.1.1数据定义类语句 A.1.2数据操作类语句 A.1.3事务和锁定类语句 A.1.4集群复制类语句 A.1.5预编译类语句 A.1.6存储过程类语句 A.1.7数据库管理类语句 A.1.8数据库工具类语句 A.2本书测试表的相关数据及结构 A.2.1学校系列表结构 A.2.2公司系列表结构
作者简介
张方兴,多年一线开发程序员,著有《微服务分布式架构基础与实战:基于Spring Boot Spring Cloud》《高性能Java架构:核心原理与案例实战》《鸿蒙入门:HarmonyOS应用开发》。
-
深度学习的数学
¥43.5¥69.0 -
全图解零基础word excel ppt 应用教程
¥19.0¥48.0 -
机器学习
¥59.4¥108.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥22.1¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥83.3¥119.0 -
Visual Basic 语言程序设计基础(第6版)
¥32.0¥45.0 -
贝叶斯推理与机器学习
¥139.3¥199.0