sql本质来说也是一种语言。人与数据库沟通的语言。
就像其他的计算机程序语言一样。即是写给机器看的又是写给人看的,两者之间更重要的是写给人看的,给自己看。写完出来的东西不是面巾纸用完一次就丢的。就好像你练书法写狂草,回过头来看自己都不认识了。这个东西就失去了它本来的表达意义。
代码整洁之道:
写代码就是写文章。文章是艺术,艺术要优雅。写sql=搞艺术。一切术,都是为了简洁优雅的表达。简洁,是道,大道至简。
1、段落整齐。该空行时候空行。表达的意思有变化的地方,就可以空。
2、起名字要有意义。这样才有段落中心大意。段与段之间才知连接关系。
3、复杂逻辑抽中间表处理。保证,文章的每个段落是整洁优雅的,整体拼起来才可能是整洁优雅的。
例:
SELECT DATE_SUB(SUBSTRING(NOW(),1,10),INTERVAL 1 DAY) '截至'
//每加一个字段,换行
,COUNT(1) '注册',COUNT(order_id) '申请'
,COUNT(order_id)/COUNT(1) '申请/注册'
#from空行
FROM
(
SELECT * FROM user
//每换一种逻辑表达式,空行
WHERE SUBSTRING(add_time,1,10)<=DATE_SUB(SUBSTRING(NOW(),1,10),INTERVAL 1 DAY)
//加一个条件,换行
and user_id in (123,456)
) u
#u代表user
#join空行
LEFT JOIN
(SELECT * FROM order
) o ON u.`user_id`=o.`user_id`
#o代表order
;这些是我的习惯,每个人的习惯可以自己灵活调整~核心是道。简简单单是最好。