SQL HACKS
SQL HACKS
Andrew Cumming, Gordon Russell
张长富 等译
出版时间:2008年06月
页数:389
不论你是只想从数据库排序数据,还是要执行复杂的计算,本书向你揭示了数据库专家挖掘数据并得到他们所需答案的方法。本书包含了100个排序、筛选、打乱数据的技巧,大大增强了传统SQL语句的功能。通过本书,你可以学习到:
● 从命令行和程序往数据库发送SQL命令。
● 使用高级的联合、过滤和分组技术,为数据报表获得数据。
● 解决使用SQL的一些疑难问题。
● 在字符串、日期等数据上执行复杂的查询与排序。
● 设置你的事务,这样用户之间就不会发生冲突。
● 管理用户,审计他们对数据库所做的修改。
● 优化SQL操作,使CPU和网络的负载最小化。
即使你使用Access、MySQL、SQL Server、Oracle或PostgreSQL数据库多年,本书保证你从没有像这样使用SELECT、INSERT、UPDATE和DELETE语句。
Andrew Cumming是http://sqlzoo.net网站的维护人,是“A Gentle Introduction to SQL”一书的作者。他还在苏格兰爱丁堡的Napier大学讲课。
Gordon Russell博士是苏格兰爱丁堡的Napier大学的讲师。他讲授数据库、Linux和网络技术,构建了教育网站,关注以技术为驱动的在线学习环境。
  1. 致谢
  2. 前言
  3. 第1章 SQL基础
  4. 1. 在命令行中运行SQL
  5. 2. 在程序中连接到SQL上
  6. 3. 执行条件INSERT
  7. 4. 更新数据库
  8. 5. 使用SQL求解填字游戏
  9. 6. 不反复执行相同的计算
  10. 第2章 连接、联合和视图
  11. 7. 不破坏现有查询的修改模式
  12. 8. 过滤行和列
  13. 9. 在索引列上过滤
  14. 10. 将子查询转换为JOIN
  15. 11. 将聚合子查询转换为JOIN
  16. 12. 简化复杂的更新
  17. 13. 为关系选择正确的连接风格
  18. 14. 生成组合
  19. 第3章 文本处理
  20. 15. 不用LIKE搜索关键词
  21. 16. 跨列搜索字符串
  22. 17. 求解重组字
  23. 18. 排序电子邮件
  24. 第4章 日期处理
  25. 19. 将字符串转换为日期
  26. 20. 发现数据中的趋势
  27. 21. 基于任何日期条件的报告
  28. 22. 生成季度报告
  29. 23. 月份的第二个星期二
  30. 第5章 数值处理
  31. 24. 计算结果集的乘积
  32. 25. 计算累加和
  33. 26. 包含JOIN遗忘的行
  34. 27. 识别重叠范围
  35. 28. 避免零做除数
  36. 29. 计算行数的其他途径
  37. 30. 计算两个字段的最大值
  38. 31. 反聚合COUNT
  39. 32. 克服舍入误差
  40. 33. 同时得到值和小计
  41. 34. 计算中位数
  42. 35. 将结果展示为图表
  43. 36. 计算GPS定位之间的距离
  44. 37. 让货物清单和支付清单对应起来
  45. 38. 找出换位错误
  46. 39. 计算累进税
  47. 40. 计算名次
  48. 第6章 联机应用
  49. 41. 将Web页面复制到表中
  50. 42. 使用SVG图形化地展示数据
  51. 43. 将导航特性添加到Web应用上
  52. 44. 从Microsoft Access中隧道访问MySQL
  53. 45. 处理Web服务器日志
  54. 46. 在数据库中存储图像
  55. 47. 利用SQL注入漏洞
  56. 48. 防止SQL注入攻击
  57. 第7章 组织数据
  58. 49. 跟踪不常变化的值
  59. 50. 合并包含不同数据的表
  60. 51. 将行显示为列
  61. 52. 将列显示为行
  62. 53. 清除不一致的记录
  63. 54. 去规范化你的表
  64. 55. 移入其他人的数据
  65. 56. 做媒
  66. 57. 生成唯一序列号
  67. 第8章 存储少量数据
  68. 58. 在数据库中存储参数
  69. 59. 定义个性化参数
  70. 60. 创建一系列的个性参数
  71. 61. 设置基于行的安全性
  72. 62. 不用表执行查询
  73. 63. 不使用表生成行
  74. 第9章 加锁与性能
  75. 64. 确定你的隔离级别
  76. 65. 使用悲观锁
  77. 66. 使用乐观锁
  78. 67. 事务中的隐含加锁
  79. 68. 处理不期待的重做
  80. 69. 在数据库中执行函数
  81. 70. 将查询结合起来
  82. 71. 提取大量数据行
  83. 72. 提取结果集的子集
  84. 73. 文件和数据库的混合存储
  85. 74. 比较和同步表
  86. 75. 在一对多连接中最小化带宽
  87. 76. 使用压缩避免LOB
  88. 第10章 制作报表
  89. 77. 在数据透视表中填写遗漏的数据
  90. 78. 按范围分组
  91. 79. 唯一地标识更新
  92. 80. 玩Six Degrees of Kevin Bacon游戏
  93. 81. 构造决策表
  94. 82. 生成顺序的或遗漏的数据
  95. 83. 找出每个组中的前n个元素
  96. 84. 在列中存储逗号分隔的列表
  97. 85. 遍历简单树
  98. 86. 在数据库中建立队列
  99. 87. 生成日历
  100. 88. 从子查询中测试两个值
  101. 89. 五选三
  102. 第11章 用户和管理
  103. 90. 实现应用程序级账户
  104. 91. 移出和移入表定义
  105. 92. 部署应用程序
  106. 93. 自动创建数据库用户
  107. 94. 创建用户和管理员
  108. 95. 生成自动更新
  109. 96. 创建审计跟踪
  110. 第12章 更广阔的访问
  111. 97. 允许匿名账户
  112. 98. 找出并停止耗时漫长的查询
  113. 99. 不要用尽磁盘空间
  114. 100. 从Web页面中运行SQL
书名:SQL HACKS
译者:张长富 等译
国内出版社:清华大学出版社
出版时间:2008年06月
页数:389
书号:978-7-302-17484-4
原版书出版商:O'Reilly Media
Andrew Cumming
 
Andrew Cumming是http://sqlzoo.net和http://progzoo.net的看护者。他维护着一组SQL引擎和程序编译器,并要求所有的来访者一起运用它们。作为一名苏塞克斯大学(University of Sussex)的毕业生,在他于伦敦帝国理工学院(Imperial College, London)完成研究生学位之前,他在Southend High School for Boys教授数学。在他获取苏格兰爱丁堡龙比亚大学(Napier University in Edinburgh, Scotland)的当前职位之前,他以签约程序员的身份工作了数年。
 
 
Gordon Russell
 
Gordon Russell博士是龙比亚大学的计算技术讲师,讲授包括数据库、Linux和组网在内的各种科目。他已经创建了多个技术驱动的、基于Web的联机学习环境。这些包括自动对SQL进行评估的http://db.grussell.org,为联机用户提供对虚拟Linux服务器根访问的http://linuxzoo.net。他在斯特拉思克莱德大学获得理学士和博士学位。他是一名Cisco学院讲师,并且也作为数据库设计者和Web站点开发者承担商业合同。
 
 
本书封面上的工具是匙形取土器。匙形取土器是一种尖锹,用于挖掘窄而深的洞。封面上的这种挖泥机是由两片长长的刀片构成的,用于插入到地面中去。当该工具的手柄张开时,它的刀片则合紧。把该工具取出,合紧手柄,就可以倒出泥土。这种类型的手工匙形取土器常常用来挖4~6英寸大小、1~2英尺深的洞。如果要挖更深的洞,则需要使用直径更小的刀片,以便能掏出更多的泥土。
匙形取土器在修建栅栏和围墙以及园林种植时很有用。它们在松软的泥土中工作得最好,因为如果泥土太硬,刀片容易弯曲。像剪刀一样的手柄可以防止在合紧时压伤手指。使用这种工具是最好不要戴皮革手套。