SQL进阶教程——SQL编程方法(第十二章)

1. 前言

随着编程语言从注重“更容易让机器理解”的低级语言(如计算机语言和编程语言)向“更容易让人类理解”的高级语言发展,人们对“编程语言应该是一种人类可以读得懂,写得出的语言”这样的观点越来越认同,于是从认知心理学的角度研究编程风格的领域应运而生。(认知心理学:能跑起来就行,效率才是一切)

2. 表的设计

  • 名字和意义

名称l包括用来指代具体东西的固有名称,也包含用来指代概念或者集合的一般名称
命名是允许的字符有一下三种
1. 英文字母
2. 阿拉伯数字
3. 下划线“_”

  • 属性和列
    不能一个列包含多个意义

3. 编程的方针

3.1 注释

还是最好写注释

  1. SQL是申明式语言,即使表达同样的处理过程,逻辑任然比面向过程语言凝练的多
  2. SQL很难进行分步的执行调试

3.2 缩进

  1. 子查询需要缩进一层
  2. 在SELECT子句和GROUP BY子句指定多列时,需要缩进一层
  3. 关键字应该右齐

3.3 空格

代码中需要适当的留一些空格

3.4 大小写

关键字使用大写字母,列名和表名使用小写字母(表名首字母大写)

3.5 逗号

SELECT col_1
	,  col_2
	,  col_3
	,  col-4
FROM tbl_A;
--建议逗号写在列名前面

3.6 不适用通配符

SELECT * FROM SomeTable; -- X
SELECT col_1,col_2 ... FROM SomeTable; --√

4. SQL编程方法

4.1 请说普通话

SQL是一种由多种方言的语言,各种数据库实现都为我们做了各种扩展,但还是请用标准语法吧

  1. 不适用依赖各种数据库实现的函数和运算符
  2. 连接操作使用标准语法

4.2 “左派"和"右派”

左连接一般情况下表头都出现在左边,使用左边的表作为主表的话,SQL就能和执行结果在格式上保存一致

4.3 从FROM自己开始写

因为SELECT子句是SQL语句最后执行的部分,写的时候根本没有必要太在意
SQL中各部分的执行顺序是:FROM,WHERE,GROUP BY,HAVING,SELECT

本节要点:

  1. 可读性和效率并非水火不容的关系,有些时候鱼和熊掌是可以兼得的
  2. 如果硬件和数据库本身的性能提升了,就是我们不对SQL做什么优化,性能也能得到提升。相反,代码难读的问题没有谁能帮我们解决,能保证代码可读性的只有开发者自己

你可能感兴趣的:(sql)