logo头像
Snippet 博客主题

谈谈SQL编码规范

有不少搞数据的同学自嘲为SQL Boy/Girl,而这也恰恰说明了使用SQL进行各种数据处理/分析在日常的工作中比重比较大,那么养成良好的SQL书写习惯也就成了一个比较重要的事情(基本功)。


写SQL和写常规的编程语言代码其实是一样的,得到正确的结果当然是必须的,但是可阅读性也是比较重要的,因为1) 对比数据口径是比较常见的事情 2) 代码review并没有完整的测试用例等,往往更多得是看逻辑及性能,数据质量校验可能没有那么周全。


风格保持一致
Hive SQL中有很多的等价写法,也不能直接就说必须这么写、不能那么写,但是我觉得自己保持一致的风格还是必须的。

  1. 关键词大小写保持一致
  2. 字符串统一用单引号或双引号
  3. 换行/缩进:使用格式化工具即可
  4. 查询字段是否加别名as
  5. 关联表顺序命名,比如t0 left join t1 left join t2… 或 a left join b left join c

逻辑简单干练

  1. 是否使用full outer join:如非必要不建议使用,看起来非常费劲思路来回跳
  2. 多次重复出现的逻辑可以用with语句重命名

行业相关资料

  1. 阿里巴巴: SQL代码编码原则和规范 - 数据开发(DataStudio)| 阿里云
  2. SQL在线格式化网站

评论系统未开启,无法评论!