在数据仓库SQL语句的编写过程中,需要遵循一些SQL语句编写的原则,这样做的好处有以下几点:
- 增加SQL语句的可读性;
- 方便日后的数据校验排查;
- 提升SQL语句的性能;
- 提高SQL代码的复用性和扩展性;
- 减少SQL语句发生异常。
下面详细列出SQL语句中需要遵循的编码原则:
- 禁止使用SELECT * 操作,所有操作必须明确指定字段名
- 所有字段名称必须使用AS自居声明别名。即使别名和字段名一致
- 字段必须使用“table_alias.column”的方式指出其来源表
- 子查询中禁止出现多余字段。多余字段即不出现在最终结果表的字段或者对结果没有任何影响的字段
- 语句中禁止出现WITH AS子句句,可用中间表代替
- 禁止使用某个工具特有的函数,尽量使用比较通用的函数
- 日期字段转换时,禁止使用CAST(column_name AS STRING)这种方式,须使用日期格式转换函数
- 禁止把过滤条件全部放到最外层,须把过滤条件尽可能早的执行
- 在数据来源于一张表但有不同的计算逻辑或者需要写入多份数据的情况下,须使用MULTI-TABLE-INSERT的方式写入
- 在数据需要多个维度进行聚合时,须使用GROUPING SETS子句
- 禁止使用多个LEFT JOIN进行指标拼接,须替换成UNION ALL的方式
- 禁止在SQL中使用HINT
- 单条SQL中出现的表的存储格式保持一致
posted @
2021-09-24 14:54
VittorioLiu
阅读(
140)
评论()
收藏
举报