SQL权威指南(第4版)
4推荐 收藏
9.9K阅读
图灵程序设计丛书

SQL权威指南(第4版)

Joe Celko (作者) 王渊 , 钟鸣 , 朱巍 (译者)
终止销售
本书是一本专业的指导性图书,内容主要涉及数据库设计、优化、操作、数据类型、查询、分组、编码等等,同时也给出了为什么尽量少使用null、如何使用规范化、如何优化查询等专业的编程技巧。本书适合具有一定SQL编程经验的数据库开发人员阅读。

收藏本书能做什么?

有情况的时候会收到通知,比如电子书发布等。

出版信息

同系列书

  • HTTP权威指南

    David Gourley   Brian Totty   Marjorie Sayer   Sailu Reddy   Anshu Aggarwal   陈涓   赵振平   译

    本书是HTTP及其相关核心Web技术方面的权威著作,主要介绍了Web应用程序是如何工作的,核心的因特网协议如何...

  • JavaScript高级程序设计(第3版)

    Nicholas C.Zakas   李松峰   曹力   译

    本书是JavaScript超级畅销书的新版。ECMAScript 5 和HTML5在标准之争中双双胜出,使大量...

  • 计算机科学的基础

    Al Aho   Jeff Ullman   傅尔也   译

    本书全面而详细地阐述了计算机科学的理论基础,从抽象概念的机械化到各种数据模型的建立,用算法、数据抽象等核心思想...

  • Java技术手册(第6版)

    Benjamin J Evans   David Flanagan   安道   译

    通过学习本书,你将能够: 掌握最新的语言细节,包括Java 8的变化 使用基本的Java句法学习面向对...

  • 机器学习实战

    Peter Harrington   李锐   李鹏   曲亚东   王斌   译

    机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或...

本书特色

 世界级数据库专家Joe Celko经典力作
 掌握高级技术,精通SQL编程的不二之选
 揭示SQL标准背后鲜为人知的理论与实践考量

目录

目 录

第1章  数据库与文件系统  1

1.1  实体表  3

1.2  关系表  3

1.3  行与记录  3

1.4  列与字段  4

1.5  模式对象  5

1.6  CREATE SCHEMA语句  6

第2章  事务与并发控制  8

2.1  会话  8

2.2  事务与ACID  9

2.2.1  原子性  9

2.2.2  一致性  10

2.2.3  隔离性  10

2.2.4  持久性  10

2.3  并发控制  11

2.3.1  三种现象  11

2.3.2  隔离级别  12

2.4  保守式并发控制  13

2.5  快照隔离与乐观式并发  14

2.6  逻辑并发控制  16

2.7  死锁与活锁  16

第3章  数据库模式对象  17

3.1  CREATE SCHEMA语句  17

3.2  CREATE PROCEDURE、CREATE FUNCTION以及CREATE TRIGGER语句  18

3.3  CREATE DOMAIN语句  18

3.4  创建序列  19

3.5  创建断言  19

3.5.1  为模式级约束使用视图  20

3.5.2  为约束使用主键和断言  23

3.6  字符集相关结构  25

3.6.1  创建字符集  25

3.6.2  创建排序规则  26

3.6.3  创建翻译  26

第4章  定位数据和特殊数值  27

4.1  显式的物理定位器  27

4.1.1  ROWID和物理磁盘地址  27

4.1.2  标识列  27

4.2  生成的标识符  30

4.2.1  GUID  30

4.2.2  UUID  31

4.3  序列生成函数  32

4.4  预分配值  33

4.5  特殊序列  34

4.5.1  Series表  34

4.5.2  素数  35

4.5.3  随机顺序值  37

4.5.4  其他序列  39

第5章 基础表和相关元素  40

5.1  CREATE TABLE语句  41

5.1.1  列约束  41

5.1.2  DEFAULT子句  43

5.1.3  NOT NULL约束  43

5.1.4  CHECK()约束  44

5.1.5  UNIQUE以及PRIMARY KEY约束  46

5.1.6  REFERENCES子句  47

5.2  嵌套UNIQUE约束  49

5.2.1  重叠键  52

5.2.2  单列唯一性与多列唯一性  54

5.3  CREATE ASSERTION约束  62

5.4  临时表  62

5.5  表操作  63

5.5.1  DROP TABLE <表名>  64

5.5.2  ALTER TABLE  64

5.6  避免属性分割  65

5.6.1  表级属性分割  66

5.6.2  行级属性分割  67

5.7  在DDL中表现类层次关系  68

5.8  显式物理定位器  70

5.9  自增列  70

5.9.1  ROWID与物理磁盘地址  72

5.9.2  标识列  72

5.9.3  对比标识列和序列  73

5.10  生成标识符  73

5.10.1  行业标准的唯一标识符  73

5.10.2  国防部的唯一标识符  74

5.10.3  序列生成函数  75

5.10.4  唯一值生成器  75

5.10.5  验证源  76

5.11  关于重复行  77

5.12  其他模式对象  78

5.13  临时表  79

5.14  CREATE DOMAIN语句  79

5.15  CREATE TRIGGER语句  80

5.16  CREATE PROCEDURE语句  80

5.17  DECLARE CURSOR语句  81

5.17.1  如何使用游标  83

5.17.2  位置更新及删除语句  84

第6章 过程式、半过程式以及声明式编程  86

6.1  软件工程基本原理  86

6.2  内聚性  86

6.3  耦合度  87

6.4  大跨越  88

6.4.1  一个常见的错误  88

6.4.2  一处改进  89

6.5  重写技巧  94

6.5.1  数据表和生成器代码  95

6.5.2  用计算替代查找  96

6.5.3  斐波那契数列  96

6.6  谓词函数  97

6.7  过程化分解和逻辑分解  98

6.7.1  过程式分解方案  99

6.7.2  逻辑分解方案  100

第7章 过程式结构  102

7.1  创建过程  102

7.2  创建触发器  103

7.3  游标  106

7.3.1  DECLARE CURSOR语句  106

7.3.2  ORDER BY子句  107

7.3.3  OPEN语句  113

7.3.4  FETCH语句  113

7.3.5  CLOSE语句  114

7.3.6  DEALLOCATE语句  114

7.3.7  如何使用游标  114

7.3.8  位置更新及删除语句  117

7.4  序列  117

7.5  生成列  118

7.6  表函数  119

第8章 辅助表  121

8.1  序列表  121

8.1.1  对列表进行枚举  122

8.1.2  将序列映射为循环  124

8.1.3  取代迭代循环  125

8.2  查找辅助表  127

8.2.1  简单转换辅助表  128

8.2.2  多转换值辅助表  128

8.2.3  多参数辅助表  129

8.2.4  范围辅助表  129

8.2.5  层次结构辅助表  130

8.2.6  “一个真正的查找表”  131

8.3  辅助函数表  133

8.3.1  用辅助表求反函数  134

8.3.2  用辅助函数表进行插值  141

8.4  全局常量表  143

8.4.1  预分配值  143

8.4.2  素数  144

8.4.3  斐波那契数列  144

8.4.4  随机顺序值  145

8.5  把过程代码转换成表时的注意事项  147

第9章 规范化  152

9.1  函数依赖和多值依赖  154

9.2  第一范式(1NF)  154

9.3  第二范式(2NF)  158

9.4  第三范式(3NF)  159

9.5  基本关键字范式(EKNF)  160

9.6  Boyce-Codd范式(BCNF)  161

9.7  第四范式(4NF)  162

9.8  第五范式(5NF)  163

9.9  域-键范式(DKNF)  164

9.10  规范化的实用技巧  171

9.11  键类型  172

9.11.1  自然键  172

9.11.2  人工键  172

9.11.3  对外暴露的物理定位器  173

9.12  非规范化的实用技巧  174

第10章 SQL的数值数据  180

10.1  数值类型  180

10.2  数值类型的转换  183

10.2.1  数值的舍入和截断  183

10.2.2  CAST()函数  185

10.3  四则运算函数  185

10.4  算术运算和NULL  186

10.5  值与NULL的相互转换  187

10.5.1  NULLIF()函数  187

10.5.2  COALESCE()函数  187

10.6  数学函数  189

10.6.1  数学运算符  189

10.6.2  指数函数  191

10.6.3  标量函数  192

10.6.4  将数值转换为文字  192

10.7  唯一值生成器  193

10.7.1  存有间隙的序列  194

10.7.2  预分配数值  194

10.8  IP地址  195

10.8.1  CHAR(39)存储  195

10.8.2  二进制存储  196

10.8.3  使用多个单独的SMALLINT  196

第11章 SQL中的时间数据类型  197

11.1  关于日历标准的说明  197

11.2  SQL时间数据类型  199

11.2.1  时间的内部表示  200

11.2.2  日期格式标准  200

11.2.3  处理时间戳  201

11.2.4  处理时间  202

11.2.5  时区和夏令时  203

11.3  INTERVAL数据类型  204

11.4  时间算术  206

11.5  时间数据模型的特性  207

11.5.1  为持续时间建模  207

11.5.2  持续时间之间的关系  209

第12章 字符数据类型  211

12.1  SQL字符串问题  211

12.1.1  字符串相等问题  212

12.1.2  字符串排序问题  212

12.1.3  字符串分组问题  213

12.2  标准字符串函数  213

12.3  常见的厂商扩展  214

12.4  Cutter表  222

12.5  嵌套替换  223

第13章 NULL:SQL中的缺失数据  224

13.1  空表和缺失表  225

13.2  列中的缺失值  225

13.3  上下文和缺失值  226

13.4  比较NULL  227

13.5  NULL和逻辑  228

13.5.1  子查询谓词中的NULL  229

13.5.2  逻辑值谓词  231

13.6  算术中的NULL值  231

13.7  函数中的NULL值  231

13.8  NULL和宿主语言  231

13.9  NULL的设计忠告  232

13.10  关于多NULL值的说明  234

第14章 多列数据元素  237

14.1  距离函数  237

14.2  在SQL中存储IPv4地址  239

14.2.1  使用单个VARCHAR(15)列表示IPv4地址  239

14.2.2  使用一个INTEGER列表示IPv4地址  239

14.2.3  使用四个SMALLINT列表示IPv4地址  240

14.3  在SQL中存储IPv6地址  241

14.4  货币与其他单位的转换  242

14.5  社会安全号  242

14.6  有理数  245

第15章 表操作  246

15.1  DELETE FROM语句  246

15.1.1  DELETE FROM子句  246

15.1.2  WHERE子句  247

15.1.3  根据辅助表中的数据执行删除  249

15.1.4  在相同表内进行删除  250

15.1.5  不用声明引用完整性在多个表中进行删除  252

15.2  INSERT INTO语句  253

15.2.1  INSERT INTO子句  253

15.2.2  插入的性质  254

15.2.3  批量装载和卸载实用程序  255

15.3  UPDATE语句  255

15.3.1  UPDATE子句  255

15.3.2  WHERE子句  256

15.3.3  SET子句  256

15.3.4  利用第二张表进行更新  257

15.3.5  在UPDATE中使用CASE表达式  259

15.4  常见厂商扩展的缺陷说明  261

15.5  MERGE语句  263

第16章 比较或theta操作  266

16.1  数据类型转换  266

16.1.1  日期显示格式  267

16.1.2  其他显示格式  268

16.2  SQL中的行比较  268

16.3  IS [NOT] DISTINCT FROM操作符  270

第17章 值化谓词  271

17.1  IS NULL谓词  271

17.2  IS [NOT] {TRUE | FALSE | UNKNOWN}谓词  272

17.3  IS [NOT] NORMALIZED谓词  273

第18章 CASE表达式  275

18.1  CASE表达式  275

18.1.1  COALESCE()和NULLIF()函数  278

18.1.2  带GROUP BY的CASE表达式  278

18.1.3  CASE、CHECK()子句和逻辑蕴涵  280

18.2  子查询表达式和常量  283

18.3  Rozenshtein特征函数  283

第19章 LIKE与SIMILAR TO谓词  285

19.1  使用模式的技巧  285

19.2  NULL值和空字符串的谓词结果  287

19.3  LIKE并不是相等  287

19.4  用联结消除LIKE谓词  287

19.5  CASE表达式和LIKE搜索条件  288

19.6  SIMILAR TO谓词  289

19.7  字符串的有关技巧  291

19.7.1  字符串的字符内容  291

19.7.2  搜索与声明一个串  291

19.7.3  创建字符串中的索引  292

第20章 BETWEEN和OVERLAPS谓词  293

20.1  BETWEEN谓词  293

20.1.1  NULL值的结果  294

20.1.2  空集的结果  294

20.1.3  程序设计技巧  295

20.2  OVERLAPS谓词  296

第21章 [NOT] IN()谓词  305

21.1  优化IN()谓词  306

21.2  用IN()谓词替换OR  309

21.3  NULL和IN()谓词  309

21.4  IN()谓词和引用约束  312

21.5  IN()谓词和标量查询  313

第22章 EXISTS()谓词  315

22.1  EXISTS和NULL  316

22.2  EXISTS和INNER JOIN  318

22.3  NOT EXISTS和OUTER JOIN  318

22.4  EXISTS()和量词  319

22.5  EXISTS()和引用约束  320

22.6  EXISTS和三值逻辑  320

第23章 量化子查询谓词  323

23.1  标量子查询比较  323

23.2  量词和缺失数据  324

23.3  ALL谓词和极值函数  326

23.4  UNIQUE谓词  327

23.5  DISTINCT谓词  328

第24章 简单SELECT语句  329

24.1  SELECT语句执行顺序  329

24.2  单级SELECT语句  329

第25章 高级SELECT语句  336

25.1  关联子查询  336

25.2  嵌入的INNER JOIN  340

25.3  OUTER JOIN  341

25.3.1  OUTER JOIN的一些历史  342

25.3.2  NULL和OUTER JOIN  346

25.3.3  NATURAL JOIN与搜索式OUTER JOIN  347

25.3.4  OUTER JOIN自联结  348

25.3.5  两次或多次OUTER JOIN  349

25.3.6  OUTER JOIN和聚合函数  351

25.3.7  FULL OUTER JOIN  351

25.4  UNION JOIN操作符  352

25.5  标量SELECT表达式  353

25.6  旧JOIN语法与新JOIN语法  354

25.7  受约束的JOIN  355

25.7.1  库存和订单  355

25.7.2  稳定的婚姻  356

25.7.3  将球装入盒中  360

25.8  Codd博士的T联结  363

25.8.1  Stobbs方案  366

25.8.2  Pieere方案  367

25.8.3  参考文献  368

第26章 虚拟表:视图、派生表、CTE及MQT  369

26.1  查询中的视图  369

26.2  可更新视图和只读视图  370

26.3  视图的类型  371

26.3.1  单表投影和限制  371

26.3.2  计算列  371

26.3.3  转换列  372

26.3.4  分组视图  372

26.3.5  联结视图  373

26.3.6  视图的联结  374

26.3.7  嵌套视图  375

26.4  数据库引擎如何处理视图  376

26.4.1  视图列列表  376

26.4.2  视图物化  376

26.4.3  内嵌文本扩展  377

26.4.4  指针结构  378

26.4.5  索引和视图  379

26.5  WITH CHECK OPTION子句  379

26.6  删除视图  383

26.7  视图与临时表的使用提示  384

26.7.1  使用视图  384

26.7.2  使用临时表  385

26.7.3  用视图扁平化表  385

26.8  使用派生表  387

26.8.1  FROM子句中的派生表  387

26.8.2  包含VALUES构造器的派生表  388

26.9  公用表表达式  389

26.10  递归公用表表达式  390

26.10.1  简单增量  391

26.10.2  简单树遍历  391

26.11  物化查询表  392

第27章 在查询中分区数据  393

27.1  覆盖和分区  393

27.1.1  按范围分区  393

27.1.2  单列范围表  394

27.1.3  用函数进行分区  394

27.1.4  按顺序分区  395

27.1.5  使用窗口函数进行分区  397

27.2  关系除法  398

27.2.1  带余除法  399

27.2.2  精确除法  400

27.2.3  性能说明  400

27.2.4  Todd的除法  401

27.2.5  带JOIN的除法  403

27.2.6  用集合操作符进行除法  403

27.3  Romley除法  404

27.4  RDBMS中的布尔表达式  407

27.5  FIFO和LIFO子集  408

第28章 分组操作  411

28.1  GROUP BY子句  411

28.2  GROUP BY和HAVING  412

28.3  多层次聚合  415

28.3.1  多级聚合的分组视图  415

28.3.2  多层次聚合的子查询表达式  416

28.3.3  多层聚合的CASE表达式  417

28.4  在计算列上分组  418

28.5  成对分组  418

28.6  排序和GROUP BY  420

第29章 简单聚合函数  422

29.1  COUNT()函数  422

29.2  SUM()函数  426

29.3  AVG()函数  427

29.3.1  空组的平均数  428

29.3.2  多个列上的平均值  429

29.4  极值函数  430

29.4.1  简单的极值函数  430

29.4.2  广义极值函数  432

29.4.3  多条件极值函数  438

29.4.4  GREATEST()和LEAST()函数  439

29.5  LIST()聚合函数  442

29.5.1  使用递归CTE的LIST聚合函数  442

29.5.2  交叉表的LIST()函数  443

29.6  PRD()聚合函数  443

29.6.1  通过表达式实现PRD()函数  444

29.6.2  通过对数实现PRD()聚合函数  445

29.7  位运算符聚合函数  447

29.7.1  OR位运算符聚合函数  448

29.7.2  AND位运算符聚合函数  449

第30章 高级分组、窗口聚合以及SQL中的OLAP  450

30.1  星模式  450

30.2  GROUPING操作符  451

30.2.1  GROUP BY GROUPING SET  451

30.2.2  ROLLUP  452

30.2.3  CUBE  452

30.2.4  SQL的OLAP示例  453

30.3  窗口子句  454

30.3.1  PARTITION BY子句  454

30.3.2  ORDER BY子句  454

30.3.3  窗口帧子句  455

30.4  窗口化聚合函数  456

30.5  序号函数  457

30.5.1  行号  457

30.5.2  RANK()和DENSE_RANK()  457

30.5.3  PERCENT_RANK()和CUME_DIST()  457

30.5.4  一些示例  458

30.6  厂商扩展  460

30.6.1  LEAD和LAG函数  460

30.6.2  FIRST和LAST函数  461

30.7  一点历史知识  462

第31章 SQL中的描述性统计  463

31.1  众数  463

31.2  AVG()函数  464

31.3  中值  464

31.3.1  中值编程问题  465

31.3.2  Celko第一中值  466

31.3.3  Date第二中值  467

31.3.4  Murchison中值  468

31.3.5  Celko第二中值  468

31.3.6  Vaughan提出的应用视图的中值  470

31.3.7  使用特征函数的中值  470

31.3.8  Celko第三中值  473

31.3.9  Ken Henderson的中值  475

31.3.10  OLAP中值  476

31.4  方差和标准偏差  478

31.5  平均偏差  479

31.6  累积统计  479

31.6.1  运行差分  479

31.6.2  累积百分比  481

31.6.3  序号函数  483

31.6.4  五分位数和相关统计  486

31.7  交叉表  486

31.7.1  通过交叉联结建立交叉表  489

31.7.2  通过外联结建立交叉表  490

31.7.3  通过子查询建立交叉表  490

31.7.4  使用CASE表达式建立交叉表  491

31.8  调和平均数和几何平均数  491

31.9  SQL中的多变量描述统计数据  492

31.9.1  协方差  492

31.9.2  皮尔森相关系数r  493

31.9.3  多变量描述统计中的NULL值  493

31.10  SQL:2006中的统计函数  494

31.10.1  方差、标准偏差以及描述统计  494

31.10.2  相关性  494

31.10.3  分布函数  495

第32章 子序列、区域、顺串、间隙及岛屿  496

32.1  查找尺寸为n的子区域  496

32.2  为区域编号  497

32.3  查找最大尺寸的区域  499

32.4  界限查询  502

32.5  顺串和序列查询  503

32.6  数列的求和  506

32.7  交换和平移列表值  509

32.8  压缩一列数值  510

32.9  折叠一列数值  510

32.10  覆盖  511

第33章 SQL中的矩阵  516

33.1  通过命名列进行访问的数组  516

33.2  通过下标列进行访问的数组  519

33.3  SQL的矩阵操作  520

33.3.1  矩阵等式  521

33.3.2  矩阵加法  521

33.3.3  矩阵乘法  522

33.3.4  矩阵转置  523

33.3.5  行排序及列排序  524

33.3.6  其他矩阵操作  524

33.4  将表扁平化为数组  524

33.5  比较表格式中的数组  526

第34章 集合操作  528

34.1  UNION和UNION ALL  528

34.1.1  执行顺序  530

34.1.2  混合使用UNION和UNION ALL操作符  531

34.1.3  对同一表中的列执行UNION操作  531

34.2  INTERSECT和EXCEPT  531

34.2.1  没有NULL值和重复行时的INTERSECT和EXCEPT操作  534

34.2.2  存在NULL值和重复行时的INTERSECT和EXCEPT操作  535

34.3  关于ALL和SELECT DISTINCT的一个说明  536

34.4  相等子集和真子集  536

第35章 子集  538

35.1  表中的每个第n项  538

35.2  从表中选取随机行  539

35.3  CONTAINS操作符  543

35.3.1  真子集操作符  543

35.3.2  表的相等操作  544

35.4  序列间隙  547

35.5  重叠区间的覆盖问题  549

35.6  选取有代表性的子集  552

第36章 SQL中的树和层次结构  556

36.1  邻接列表模型  557

36.1.1  复杂约束  557

36.1.2  查询的过程遍历  559

36.1.3  更改表  560

36.2  路径枚举模型  560

36.2.1  查找子树和节点  561

36.2.2  找出层次和后代  561

36.2.3  删除节点和子树  562

36.2.4  完整性约束  562

36.3  层次结构的嵌套集合模型  563

36.3.1  计数特性  564

36.3.2  包含特性  564

36.3.3  下级节点  565

36.3.4  层次聚合  566

36.3.5  删除节点和子树  566

36.3.6  将邻接列表转换为嵌套集合模型  567

36.4  其他表现树和层次结构的模型  569

第37章 SQL中的图  570

37.1  邻接列表模型图  570

37.1.1  SQL和邻接列表模型  571

37.1.2  路径与CTE  572

37.1.3  环状图  577

37.1.4  邻接矩阵模型  579

37.2  分割嵌套集合模型表示的图节点  580

37.2.1  图中的所有节点  581

37.2.2  路径端点  581

37.2.3  可达节点  582

37.2.4  边  582

37.2.5  入度和出度  582

37.2.6  源节点、汇聚节点、孤立节点和内部节点  583

37.2.7  将无环图转化为嵌套集合  584

37.3  多边形中的点  586

37.4  图论参考书目  588

第38章 时间查询  589

38.1  时间数学  589

38.2  个性化日历  591

38.3  时间序列  592

38.3.1  时间序列中的间隙  593

38.3.2  连续时间段  595

38.3.3  相邻事件中缺失的时间  600

38.3.4  查找日期  603

38.3.5  时间的起始点和结束点  604

38.3.6  开始时间和结束时间  605

38.4  儒略日  606

38.5  其他时间函数  609

38.6  星期  610

38.7  在表中对时间建模  612

38.8  日历辅助表  614

38.9  2000年问题  616

38.9.1  零  616

38.9.2  闰年  617

38.9.3  千年问题  618

38.9.4  旧数据中的怪异日期  619

38.9.5  后果  619

第39章 优化SQL  620

39.1  访问方法  621

39.1.1  顺序访问  621

39.1.2  索引访问  621

39.1.3  散列索引  622

39.1.4  位向量索引  622

39.2  如何建立索引  622

39.2.1  使用简单查询条件  623

39.2.2  简单字符串表达式  624

39.2.3  简单时间表达式  625

39.3  提供额外信息  626

39.4  谨慎建立多列索引  627

39.5  考察IN谓词  627

39.6  避免UNION  629

39.7  联结胜于嵌套查询  629

39.8  使用更少的语句  630

39.9  避免排序  631

39.10  避免交叉联结  634

39.11  了解优化器  635

39.12  在模式更改后重编译静态SQL  636

39.13  临时表有时能带来方便  637

39.14  更新统计数据  639

39.15  不要迷信较新的特性  639

参考文献  642

相关文章

  • 王渊 5推荐

    好书短评之《SQL权威指南》

    “参照国外读者的评价,找到你需要的书。”在你决定购买本书之前,本栏目将努力向读者朋友们呈现公正客观的评价。如果你发现这是本好书,请不要忘记收藏。 5星评价,SQL成功不可或缺的秘诀 byChristopher Wanko (美国新泽西) 我需要将这本书链接到我的博客里…...

  • 毛倩倩 7推荐

    小记《SQL权威指南(第4版)》

    本书被誉为第一本,也是迄今唯一一本由SQL大师(JoeCelko)编写,并面向编程人员与实践者专门介绍高级技术,以打造SQL编程专家的经典力作。 经历了15年的编撰与更新,本书迎来了更为贴合实际的第4版。它不仅仅是技术与技巧的组合,还为新旧挑战性难题提供了绝佳的解决方案,涵盖…...

  • 第五版什么时候翻译呢?
    刘小花  发表于 2014-12-30 22:59:43
    推荐
  • 很多我审读时提的勘误都改了,自己的劳动有效果,真高兴。
    lt  发表于 2012-12-25 19:04:41
    推荐
    • 本书证明,用文字代码也有好的效果,不一定非要用图片
      另外,将表格排到空白处节省纸张也是个好办法

      lt  发表于 2012-12-25 22:55:00
    • lt厉害!佩服!敬仰!
      攒攒银子换这本一看!

      迷茫  发表于 2013-01-03 09:52:47
  • http://shop.oreilly.com/product/9780128007617.do 原书第五版2014年就出版了
    揭秋明  发表于 2015-07-03 11:33:21
    推荐