SQL经典实例

SQL经典实例
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Anthony Molinaro)
2018-07
版次: 1
ISBN: 9787115484208
定价: 149.00
装帧: 其他
开本: 16开
纸张: 胶版纸
95人买过
  • 本书详细介绍了各种数据库的SQL查询技术和一些基础的SQL查询语句,并且通过实例操作的方式讲解了如何插入、更新和删除数据等相关知识。另外,本书还介绍了如何使用SQL语句进行日期处理,以及一些其他的SQL语句查询操作,能够帮助你掌握相关的SQL知识。 安东尼·莫利纳罗(Anthony Molinaro),专精SQL技术,擅长解决棘手的SQL问题,对关系理论有深入研究。

    刘春辉,程序员, DBA。入行十余年,起先从事企业软件系统研发,后转入互联网行业做数据库运维,专注于数据密集型应用系统的数据库后端设计、实现、运维以及系统改善等工作。对于开源数据库以及中间件有强烈兴趣。 前言 ........................xi 

    第 1 章 检索记录 ....................1

    1.1 检索所有行和列 .............1

    1.2 筛选行 .......2

    1.3 查找满足多个查询条件的行 ...............2

    1.4 筛选列 .......3

    1.5 创建有意义的列名 .........3

    1.6 在WHERE 子句中引用别名列 ...............4

    1.7 串联多列的值 .................5

    1.8 在SELECT 语句里使用条件逻辑 .........6

    1.9 限定返回行数 .................6

    1.10 随机返回若干行记录 ...8

    1.11 查找Null 值 .................9

    1.12 把Null 值转换为实际值 .................10

    1.13 查找匹配项 .................10

    第 2 章 查询结果排序 .........12

    2.1 以指定顺序返回查询结果 .................12

    2.2 多字段排序 ....................13

    2.3 依据子串排序 ...............14

    2.4 对含有字母和数字的列排序 .............15

    2.5 排序时对Null 值的处理 ...................17

    2.6 依据条件逻辑动态调整排序项 .........23

    第3 章 多表查询 ..................25

    3.1 叠加两个行集 ...............25

    3.2 合并相关行 ....................27

    3.3 查找两个表中相同的行 .....................28

    3.4 查找只存在于一个表中的数据 .........30

    3.5 从一个表检索与另一个表不相关的行 .................33

    3.6 新增连接查询而不影响其他连接查询 .................34

    3.7 确定两个表是否有相同的数据 .........36

    3.8 识别并消除笛卡儿积 ...42

    3.9 组合使用连接查询与聚合函数 .........44

    3.10 组合使用外连接查询与聚合函数 ...48

    3.11 从多个表中返回缺失值 ...................51

    3.12 在运算和比较中使用Null ..............54

    第4 章 插入、更新和删除 ......................56

    4.1 插入新记录 ....................57

    4.2 插入默认值 ....................57

    4.3 使用Null 覆盖默认值 .58

    4.4 复制数据到另一个表 ...59

    4.5 复制表定义 ....................59

    4.6 多表插入 .......................60

    4.7 禁止插入特定列 ...........62

    4.8 更新记录 .......................63

    4.9 当相关行存在时更新记录 .................64

    4.10 使用另一个表的数据更新记录 .......64

    4.11 合并记录 .....................67

    4.12 删除全表记录 .............69

    4.13 删除指定记录 .............69

    4.14 删除单行记录 .............69

    4.15 删除违反参照完整性的记录 ...........70

    4.16 删除重复记录 .............70

    4.17 删除被其他表参照的记录 ...............72

    第5 章 元数据查询 .............74

    5.1 列举模式中的表 ...........74

    5.2 列举字段 .......................75

    5.3 列举索引列 ....................76

    5.4 列举约束 .......................77

    5.5 列举非索引外键 ...........78

    5.6 用SQL 生成SQL .........81

    5.7 描述Oracle 数据字典视图 ................83

    第6 章 字符串处理 .............85

    6.1 遍历字符串 ....................85

    6.2 嵌入引号 .......................87

    6.3 统计字符出现的次数 ...88

    6.4 删除不想要的字符 .......89

    6.5 分离数字和字符数据 ...91

    6.6 判断含有字母和数字的字符串 .........94

    6.7 提取姓名的首字母 .......99

    6.8 按照子字符串排序 .....102

    6.9 根据字符串里的数字排序 ...............103

    6.10 创建分隔列表 ...........109

    6.11 分隔数据转换为多值IN 列表 .......114

    6.12 按字母表顺序排列字符 .................119

    6.13 识别字符串里的数字字符 .............124

    6.14 提取第n 个分隔子字符串 .............130

    6.15 解析IP 地址 .............136

    第7 章 数值处理 ...............139

    7.1 计算平均值 .................139

    7.2 查找最小值和最大值 .141

    7.3 求和 .......142

    7.4 计算行数 .....................144

    7.5 计算非Null 值的个数 .....................146

    7.6 累计求和 .....................146

    7.7 计算累计乘积 .............149

    7.8 计算累计差 .................151

    7.9 计算众数 .....................152

    7.10 计算中位数 ...............155

    7.11 计算百分比 ...............158

    7.12 聚合Null 列 .............160

    7.13 计算平均值时去掉最大值和最小值 .................161

    7.14 将含有字母和数字的字符串转换为数字 .........163

    7.15 修改累计值 ...............165

    第8 章 日期运算 ................168

    8.1 年月日加减法 .............168

    8.2 计算两个日期之间的天数 ...............170

    8.3 计算两个日期之间的工作日天数 ...172

    8.4 计算两个日期之间相差的月份和年份 ...............176

    8.5 计算两个日期之间相差的秒数、分钟数和小时数 .................178

    8.6 统计一年中有多少个星期一 ...........180

    8.7 计算当前记录和下一条记录之间的日期差 .......191

    第9 章 日期处理 ................196

    9.1 判断闰年 .....................196

    9.2 计算一年有多少天 .....203

    9.3 从给定日期值里提取年月日时分秒 ...................205

    9.4 计算一个月的第 一天和最后一天 ...207

    9.5 列出一年中所有的星期五 ...............209

    9.6 找出当前月份的第 一个和最后一个星期一 .......216

    9.7 生成日历 .....................222

    9.8 列出一年中每个季度的开始日期和结束日期 ...239

    9.9 计算一个季度的开始日期和结束日期 ...............243

    9.10 填补缺失的日期 .......249

    9.11 依据特定时间单位检索数据 .........258

    9.12 比较特定的日期要素 .....................259

    9.13 识别重叠的日期区间 .....................262

    第 10 章 区间查询 .............268

    10.1 定位连续的值区间 ...268

    10.2 计算同一组或分区的行之间的差 .273

    10.3 定位连续值区间的开始值和结束值 .................281

    10.4 为值区间填充缺失值 .....................285

    10.5 生成连续的数值 .......289

    第 11 章 高级查询 .............293

    11.1 结果集分页 ...............293

    11.2 跳过n 行记录 ...........296

    11.3 在外连接查询里使用OR 逻辑 .......298

    11.4 识别互逆的记录 .......301

    11.5 提取最靠前的n 行记录 .................302

    11.6 找出最大和最小的记录 .................304

    11.7 查询未来的行 ...........305

    11.8 行值轮转 ....................308

    11.9 对结果排序 ...............311

    11.10 删除重复项 .............312

    11.11 查找骑士值 .............314

    11.12 生成简单的预测 .....321

    第 12 章 报表和数据仓库 ......................329

    12.1 变换结果集成一行 ...329

    12.2 变换结果集成多行 ...331

    12.3 反向变换结果集 .......339

    12.4 反向变换结果集成一列 .................340

    12.5 删除重复数据 ...........343

    12.6 变换结果集以实现跨行计算 .........346

    12.7 创建固定大小的数据桶 .................347

    12.8 创建预定数目的桶 ...351

    12.9 创建水平直方图 .......355

    12.10 创建垂直直方图 .....357

    12.11 返回非分组列 .........360

    12.12 计算简单的小计 .....365

    12.13 计算所有可能的表达式组合的小计 ...............368

    12.14 识别非小计行 .........377

    12.15 使用CASE 表达式标记行数据 .....379

    12.16 创建稀疏矩阵 .........380

    12.17 按照时间单位分组 .382

    12.18 多维度聚合运算 .....385

    12.19 动态区间聚合运算 .387

    12.20 变换带有小计的结果集 ...............394

    第 13 章 层次查询 .............398

    13.1 展现父子关系 ...........399

    13.2 展现祖孙关系 ...........402

    13.3 创建层次视图 ...........407

    13.4 找出给定的父节点对应的所有子节点 .............414

    13.5 确认叶子节点、分支节点和根节点 .................418

    第 14 章 杂项 ......................426

    14.1 使用SQL Server 的PIVOT 操作符创建交叉报表 ..................426

    14.2 使用SQL Server 的UNPIVOT 操作符逆向转换交叉报表 ......428

    14.3 使用Oracle 的MODEL 子句变换结果集 .............430

    14.4 从不固定位置提取字符串的元素 .433

    14.5 计算一年有多少天 ...436

    14.6 查找含有数字和字母的字符串 .....437

    14.7 在Oracle 中把整数转换成二进制 ....................439

    14.8 变换已排名的结果集 .....................442

    14.9 为两次变换后的结果集增加列标题 .................445

    14.10 在Oracle 中把标量子查询转换为复合子查询 ....................456

    14.11 解析串行化的数据 .458

    14.12 计算比重 .................462

    14.13 从Oracle 中生成CSV 格式的输出 ................464

    14.14 找出不匹配某个格式的文本 .......469

    14.15 使用内嵌视图转换数据 ...............471

    14.16 测试一组数据中是否存在某个值 ...................472

    附录A 窗口函数简介1 .....476

    附录B 重温Rozenshtein .....................500
  • 内容简介:
    本书详细介绍了各种数据库的SQL查询技术和一些基础的SQL查询语句,并且通过实例操作的方式讲解了如何插入、更新和删除数据等相关知识。另外,本书还介绍了如何使用SQL语句进行日期处理,以及一些其他的SQL语句查询操作,能够帮助你掌握相关的SQL知识。
  • 作者简介:
    安东尼·莫利纳罗(Anthony Molinaro),专精SQL技术,擅长解决棘手的SQL问题,对关系理论有深入研究。

    刘春辉,程序员, DBA。入行十余年,起先从事企业软件系统研发,后转入互联网行业做数据库运维,专注于数据密集型应用系统的数据库后端设计、实现、运维以及系统改善等工作。对于开源数据库以及中间件有强烈兴趣。
  • 目录:
    前言 ........................xi 

    第 1 章 检索记录 ....................1

    1.1 检索所有行和列 .............1

    1.2 筛选行 .......2

    1.3 查找满足多个查询条件的行 ...............2

    1.4 筛选列 .......3

    1.5 创建有意义的列名 .........3

    1.6 在WHERE 子句中引用别名列 ...............4

    1.7 串联多列的值 .................5

    1.8 在SELECT 语句里使用条件逻辑 .........6

    1.9 限定返回行数 .................6

    1.10 随机返回若干行记录 ...8

    1.11 查找Null 值 .................9

    1.12 把Null 值转换为实际值 .................10

    1.13 查找匹配项 .................10

    第 2 章 查询结果排序 .........12

    2.1 以指定顺序返回查询结果 .................12

    2.2 多字段排序 ....................13

    2.3 依据子串排序 ...............14

    2.4 对含有字母和数字的列排序 .............15

    2.5 排序时对Null 值的处理 ...................17

    2.6 依据条件逻辑动态调整排序项 .........23

    第3 章 多表查询 ..................25

    3.1 叠加两个行集 ...............25

    3.2 合并相关行 ....................27

    3.3 查找两个表中相同的行 .....................28

    3.4 查找只存在于一个表中的数据 .........30

    3.5 从一个表检索与另一个表不相关的行 .................33

    3.6 新增连接查询而不影响其他连接查询 .................34

    3.7 确定两个表是否有相同的数据 .........36

    3.8 识别并消除笛卡儿积 ...42

    3.9 组合使用连接查询与聚合函数 .........44

    3.10 组合使用外连接查询与聚合函数 ...48

    3.11 从多个表中返回缺失值 ...................51

    3.12 在运算和比较中使用Null ..............54

    第4 章 插入、更新和删除 ......................56

    4.1 插入新记录 ....................57

    4.2 插入默认值 ....................57

    4.3 使用Null 覆盖默认值 .58

    4.4 复制数据到另一个表 ...59

    4.5 复制表定义 ....................59

    4.6 多表插入 .......................60

    4.7 禁止插入特定列 ...........62

    4.8 更新记录 .......................63

    4.9 当相关行存在时更新记录 .................64

    4.10 使用另一个表的数据更新记录 .......64

    4.11 合并记录 .....................67

    4.12 删除全表记录 .............69

    4.13 删除指定记录 .............69

    4.14 删除单行记录 .............69

    4.15 删除违反参照完整性的记录 ...........70

    4.16 删除重复记录 .............70

    4.17 删除被其他表参照的记录 ...............72

    第5 章 元数据查询 .............74

    5.1 列举模式中的表 ...........74

    5.2 列举字段 .......................75

    5.3 列举索引列 ....................76

    5.4 列举约束 .......................77

    5.5 列举非索引外键 ...........78

    5.6 用SQL 生成SQL .........81

    5.7 描述Oracle 数据字典视图 ................83

    第6 章 字符串处理 .............85

    6.1 遍历字符串 ....................85

    6.2 嵌入引号 .......................87

    6.3 统计字符出现的次数 ...88

    6.4 删除不想要的字符 .......89

    6.5 分离数字和字符数据 ...91

    6.6 判断含有字母和数字的字符串 .........94

    6.7 提取姓名的首字母 .......99

    6.8 按照子字符串排序 .....102

    6.9 根据字符串里的数字排序 ...............103

    6.10 创建分隔列表 ...........109

    6.11 分隔数据转换为多值IN 列表 .......114

    6.12 按字母表顺序排列字符 .................119

    6.13 识别字符串里的数字字符 .............124

    6.14 提取第n 个分隔子字符串 .............130

    6.15 解析IP 地址 .............136

    第7 章 数值处理 ...............139

    7.1 计算平均值 .................139

    7.2 查找最小值和最大值 .141

    7.3 求和 .......142

    7.4 计算行数 .....................144

    7.5 计算非Null 值的个数 .....................146

    7.6 累计求和 .....................146

    7.7 计算累计乘积 .............149

    7.8 计算累计差 .................151

    7.9 计算众数 .....................152

    7.10 计算中位数 ...............155

    7.11 计算百分比 ...............158

    7.12 聚合Null 列 .............160

    7.13 计算平均值时去掉最大值和最小值 .................161

    7.14 将含有字母和数字的字符串转换为数字 .........163

    7.15 修改累计值 ...............165

    第8 章 日期运算 ................168

    8.1 年月日加减法 .............168

    8.2 计算两个日期之间的天数 ...............170

    8.3 计算两个日期之间的工作日天数 ...172

    8.4 计算两个日期之间相差的月份和年份 ...............176

    8.5 计算两个日期之间相差的秒数、分钟数和小时数 .................178

    8.6 统计一年中有多少个星期一 ...........180

    8.7 计算当前记录和下一条记录之间的日期差 .......191

    第9 章 日期处理 ................196

    9.1 判断闰年 .....................196

    9.2 计算一年有多少天 .....203

    9.3 从给定日期值里提取年月日时分秒 ...................205

    9.4 计算一个月的第 一天和最后一天 ...207

    9.5 列出一年中所有的星期五 ...............209

    9.6 找出当前月份的第 一个和最后一个星期一 .......216

    9.7 生成日历 .....................222

    9.8 列出一年中每个季度的开始日期和结束日期 ...239

    9.9 计算一个季度的开始日期和结束日期 ...............243

    9.10 填补缺失的日期 .......249

    9.11 依据特定时间单位检索数据 .........258

    9.12 比较特定的日期要素 .....................259

    9.13 识别重叠的日期区间 .....................262

    第 10 章 区间查询 .............268

    10.1 定位连续的值区间 ...268

    10.2 计算同一组或分区的行之间的差 .273

    10.3 定位连续值区间的开始值和结束值 .................281

    10.4 为值区间填充缺失值 .....................285

    10.5 生成连续的数值 .......289

    第 11 章 高级查询 .............293

    11.1 结果集分页 ...............293

    11.2 跳过n 行记录 ...........296

    11.3 在外连接查询里使用OR 逻辑 .......298

    11.4 识别互逆的记录 .......301

    11.5 提取最靠前的n 行记录 .................302

    11.6 找出最大和最小的记录 .................304

    11.7 查询未来的行 ...........305

    11.8 行值轮转 ....................308

    11.9 对结果排序 ...............311

    11.10 删除重复项 .............312

    11.11 查找骑士值 .............314

    11.12 生成简单的预测 .....321

    第 12 章 报表和数据仓库 ......................329

    12.1 变换结果集成一行 ...329

    12.2 变换结果集成多行 ...331

    12.3 反向变换结果集 .......339

    12.4 反向变换结果集成一列 .................340

    12.5 删除重复数据 ...........343

    12.6 变换结果集以实现跨行计算 .........346

    12.7 创建固定大小的数据桶 .................347

    12.8 创建预定数目的桶 ...351

    12.9 创建水平直方图 .......355

    12.10 创建垂直直方图 .....357

    12.11 返回非分组列 .........360

    12.12 计算简单的小计 .....365

    12.13 计算所有可能的表达式组合的小计 ...............368

    12.14 识别非小计行 .........377

    12.15 使用CASE 表达式标记行数据 .....379

    12.16 创建稀疏矩阵 .........380

    12.17 按照时间单位分组 .382

    12.18 多维度聚合运算 .....385

    12.19 动态区间聚合运算 .387

    12.20 变换带有小计的结果集 ...............394

    第 13 章 层次查询 .............398

    13.1 展现父子关系 ...........399

    13.2 展现祖孙关系 ...........402

    13.3 创建层次视图 ...........407

    13.4 找出给定的父节点对应的所有子节点 .............414

    13.5 确认叶子节点、分支节点和根节点 .................418

    第 14 章 杂项 ......................426

    14.1 使用SQL Server 的PIVOT 操作符创建交叉报表 ..................426

    14.2 使用SQL Server 的UNPIVOT 操作符逆向转换交叉报表 ......428

    14.3 使用Oracle 的MODEL 子句变换结果集 .............430

    14.4 从不固定位置提取字符串的元素 .433

    14.5 计算一年有多少天 ...436

    14.6 查找含有数字和字母的字符串 .....437

    14.7 在Oracle 中把整数转换成二进制 ....................439

    14.8 变换已排名的结果集 .....................442

    14.9 为两次变换后的结果集增加列标题 .................445

    14.10 在Oracle 中把标量子查询转换为复合子查询 ....................456

    14.11 解析串行化的数据 .458

    14.12 计算比重 .................462

    14.13 从Oracle 中生成CSV 格式的输出 ................464

    14.14 找出不匹配某个格式的文本 .......469

    14.15 使用内嵌视图转换数据 ...............471

    14.16 测试一组数据中是否存在某个值 ...................472

    附录A 窗口函数简介1 .....476

    附录B 重温Rozenshtein .....................500
查看详情
12
相关图书 / 更多
SQL经典实例
SQL从入门到进阶
陈红波 编著
SQL经典实例
SQL Server数据库实用案例教程(第2版·微课视频版)
王雪梅 李海晨 主编;马亚丽 华进 蔡斌杰 副主编
SQL经典实例
SQLServer2019数据库管理项目教程(活页式高等职业教育计算机专业活页式系列教材)
黄小花、黄侃、熊慧芳 编
SQL经典实例
SQL面试宝典:图解数据库求职题(全彩)
猴子
SQL经典实例
SQL Server数据库设计与应用(第2版)
张成叔
SQL经典实例
SQL Server数据库应用入门(项目式+微课版)
李武韬 文瑛 吴超
SQL经典实例
SQL Server实例教程(2019版)
刘志成
SQL经典实例
SQL实践教程(第10版)
[美]马克·谢尔曼(Mark Shellman)哈桑·阿夫尤尼(Hassan A
SQL经典实例
SQL Server 2014数据库原理与实训教程
吴小刚 主编;彭文惠
SQL经典实例
SQL语言从入门到精通
明日科技
SQL经典实例
SQL Server从入门到精通(第5版)
明日科技
SQL经典实例
SQL数据分析
[美]凯西·谷村(Cathy Tanimura)
您可能感兴趣 / 更多
SQL经典实例
语言恶女:女性如何夺回语言
[美]阿曼达·蒙特尔/著李辛/译
SQL经典实例
爵士乐史(精装本)
[美]泰德·乔亚 著
SQL经典实例
作家榜名著:菊与刀全译本(一本书讲透日本人的矛盾性格!全新未删节插图版《菊与刀》!特别收录4000多字导读 +12幅彩插!)
[美]鲁思·本尼迪克特、作家榜经典名 著;何谦 译
SQL经典实例
哈利·波特解析生物设定
[美]乔迪·雷文森
SQL经典实例
大学技术转移与学术创业:芝加哥手册(精装典藏版)
[美]艾伯特·N. 林克(Albert N. Link);[美]唐纳德·S. 西格尔(Donald S. Siegel);[英]麦克·赖特(Mike Wright)
SQL经典实例
了不起的建筑师扎哈 传奇建筑设计师扎哈·哈迪德绘本传记 4-9岁
[美]维多利亚·滕特勒-克 雷洛夫 著绘
SQL经典实例
全新正版图书 改变世界的6种力亨利·波卓斯基浙江科学技术出版社9787573910929
[美] 亨利·波卓斯基
SQL经典实例
加勒比之梦:旅游、帝国扩张与全球流动
[美]布莱克·C. 斯科特 (Blake C. Scott)
SQL经典实例
加缪
[美]奥利弗·格洛格(Oliver Gloag)
SQL经典实例
读懂经济学:提升“财商”、塑造价值观念的经济学读本,一本书参破瞬息万变的经济世界底层逻辑!
[美]霍华德·亚鲁斯 著;赵善江 译;斯坦威 出品
SQL经典实例
数学侦探 神秘路线上的连环追踪
[美]丹尼尔·肯尼 艾米丽·博艾尔 著 刘玙婧、王婧 译;小博集出品
SQL经典实例
陶瓷创意造型新技法(陶艺学习系列丛书)
[美]黛布·施瓦茨科夫 著,张靖靖 译