IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL编写规范 -> 正文阅读

[大数据]SQL编写规范

SQL编写规范

  1. 字段排列要求

示例1:

?

  • SELECT语句选择的字段按每行一个字段方式编排;
  • SELECT单字后面一个缩进量后直接跟首个选择的字段,即字段离首起二个缩进量
  • 其它字段前导二个缩进量再跟一’,’点后放置字段名;
  1. 字段分割符’,’点书写位置要求
  • 两个字段之间的’,’点分割符紧跟在第二个字段的前面
  1. 字段别名 ‘AS’ 语句编写要求
  • ?‘AS’语句应与相应的字段在同一行;
  • 多个字段的’AS’建议尽量对齐在同一列上;

示例2:

  • 字段别名在同一个查询例程中可以被引用
  1. SELECT子句排列要求

示例3:

?

SELECT 语句中所用到的

FROM、WHERE、GROUP BY、HAVING、ORDER BY、JOIN、UNION等子句:

  • 换行编写;
  • 与相应的SELECT语句对齐;
  • 子句后续的代码离子句首字母二个缩进量起编写;
  • WHERE 子句下的逻辑判断符 AND 、OR等与WHERE右对齐编排
  • 超过两个缩进量长度的子句加一空格后编写后续代码,如:ORDER BY、GROUP BY等;
    ?
  1. 运算符前后间隔要求

示例4:

?

算术运算符、逻辑运算符的前后至少要保留一个空格

  1. CASE语句的编写

示例5:

?

SELECT 语句中对字段值进行判断取值的操作将用到的CASE语句,正确的编排CASE语句的写法对加强代码行的可阅读性也是很关键的一部分。

?????????????????? 我们对CASE语句编排作如下约定:

  • CASE语句从CASE开头到END结束要用括弧包括起来,并给结果值赋别名字段;
  • WHEN子语在CASE语句的下一行并缩进两个缩进量后编写;
  • 每个WHEN子语一行编写,当然如果语句较长可换行编排;
  • CASE语句必须包含ELSE子语;
  1. 子查询嵌套编写规范

用好子查询是提高代码执行速度的一个好方法,采用子查询来缩小结果集之间的操作将使系统运算的开销更小,我们在编写代码时也要考虑性能的优化。子查询嵌套在数据仓库系统开发中是经常要用到的,因此代码的分层编排就非常重要。

示例6:

  1. 表别名定义约定

因为一旦在SELECT语句中给操作表定义了别名,那么在整个语句中对此表的引用都必须惯以别名替代,因此我们考虑到编写代码的方便性,我们约定别名尽量简单、简洁,当然要避免使用数据库中的保留字如:order、date等。

  • 表别名采用简单字符命名;
  • 多层次的嵌套子查询别名之前要体现层次关系,

SQL语句别名的命名,分层命名,从第一层次至第四层次,分别用P 、S、 U 、D(都是大写字母)表示,取意为Part, Segment, Unit, Detail。也可用a、b、c、d来表示第一层次到第四层次;

对于同一层次的多个子句,在字母后加1、2、3、4……区分。

  • 有需要的情况下对表别名加注释;

示例7:

?

  1. 临时表命名约定

临时表的命名按照如下形式:

  • VT_ + 普通表名 [+序号]
  • “VT”表示该表为临时表,“普通表名”就是普通形式的表名,“序号”为可选项,一般可用1,2,3...或01,02,03…等来表示。
  1. 变量引用
  • 在SQL语句中引用变量时,要在变量名两端加花括号
  • 对日期变量的引用要在单引号内,如'${MYDATE}'

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:53:46  更:2021-09-07 10:54:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 19:56:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码