SQL语句开发规范

news2024/12/25 12:27:31

最近写 SQL 比较多,但是 SQL 语句写得非常不规范,在编辑器中经常被 Typo 提示,因此,我重新回顾并总结了一下阿里有关于 SQL 的开发手册,以下是一些总结心得:

General

  1. SQL 代码中的关键字,保留字全部使用大写或小写。

    select / SELECT
    from / FROM
    where / WHERE
    and / AND
    or / OR
    union / UNION
    insert / INSERT
    delete / DELETE
    group / GROUP
    having / HAVING
    count / COUNT
    
  2. 四个空格为一个缩进量。

  3. 禁止使用select *,操作必须指定列名。

  4. 对应括号在同一列位置上。

SQL编码规范

字段排列要求:

  • SELECT 语句字段要求每行一个字段
  • 换行以及对其规则如下所示

INSERT 子句

INSERT 子句要求写在同一行。

SELECT 子句

  1. 换行编写
  2. 关键字左对齐
  3. 关键字小于 2 个缩进量,添加2个空格
  4. 关键字大于 2 个缩进量,添加1个空格

运算符

运算符前后需要保留一个空格

CASE 语句

如下图

查询嵌套编写规范

SQL语句的别名需要分层命名,从第1层次至第4层次,分别用P(Part) 、S(Segment)、 U(Unit) 和D(Detail)表示。也可以用a、b、c、d来表示第1层次到第4层次。

对于同一层次的多个子句,在字母后加1、2、3、4……区分,并根据情况对表别名添加注释。

注释

  • 每条SQL语句均应添加注释说明。
  • 每条SQL语句的注释单独成行,并放在语句的前面。
  • 字段注释紧跟在字段后面。

最后,除了在写 code 时需要养成一个规范的习惯以外,也可以尝试将本文放进 GPT 中进行总结,让 GPT 按照规范对代码进行纠正。更多信息可以翻阅阿里sql开发规范:https://help.aliyun.com/zh/dataworks/user-guide/sql-coding-guidelines-and-specifications

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2125504.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【kubernetes】实战:HPA自动扩/缩容

实现原理 针对Pod 自动扩缩容,主要根据检测 CPU 使用率或自定义指标(metrics) 是否达到预定义限制,从而自动对 Pod 进行扩/缩容。 通常对Deployment,StatefulSet进行扩缩容。不适用于无法扩/缩容的对象(如:DaemonSet…

6-Python基础编程之数据类型操作——数值、布尔和字符串

Python基础编程之数据类型操作——数值、布尔和字符串 数值整数浮点数复数常用操作 布尔类型字符串字符串拼接字符串切片常用函数查找计算转换操作填充压缩分割拼接判定操作 数值 表现形式:整数(int)、浮点数(float)、…

Conmi的正确答案——MySQL的层级递归查询(递归公共表表达式,CTE)

数据库:oceanbase-ce 递归sql主体: WITH RECURSIVE country_area_tree AS (-- 非递归部分,初始化查询SELECT id, area_name, parent_id, 0 AS levelFROM country_areaWHERE id 589004044419077UNION ALL-- 递归部分,找到子节点S…

秋招春招,在线测评题库包含哪些?

各位小伙伴们,秋招春招的号角已经吹响,作为HR,我们又要开始忙碌起来了。面对众多的候选人,如何高效、准确地筛选出合适的人选呢? 在线测评就是一个非常有用的工具。本文就说说在线测评题库里的那些事儿,主…

中国书法——孙溟㠭浅析碑帖《三希堂法帖》

孙溟㠭浅析碑帖《三希堂法帖》 全称是《三希堂石渠宝笈法帖》,是中国清代宫廷刻帖,一共三十二册。 清朝高宗弘历收藏了晋王羲之《快雪时晴帖》,王献之的《中秋帖》,王珣的《伯远帖》三种王氏原墨迹。故而把所藏法书之所…

【hot100-java】【除自身以外数组的乘积】

R8-普通数组篇 印象题&#xff0c;计算前缀&#xff0c;计算后缀&#xff0c;计算乘积。 class Solution {public int[] productExceptSelf(int[] nums) {int n nums.length;int[] prenew int[n];pre[0]1;for (int i1;i<n;i){pre[i]pre[i-1]*nums[i-1];}int[] sufnew int[…

【支付】Stripe支付通道Java对接(产品 价格 支付 查询 退款 回调)

Stripe是一家美国科技公司&#xff0c;成立于2010年&#xff0c;由爱尔兰兄弟Patrick Collison和John Collison共同创立。该公司致力于提供高效、简洁的互联网支付收款服务&#xff0c;为开发者或商家提供支付API接口或代码&#xff0c;使商家的网站、移动APP支持信用卡付款。S…

微深节能 天车无人抓渣系统 格雷母线定位系统

微深节能的天车无人抓渣系统结合格雷母线定位系统&#xff0c;为工业自动化领域带来了显著的技术提升。 一、系统概述 微深节能的天车无人抓渣系统是一种高度自动化的解决方案&#xff0c;它集成了格雷母线定位系统&#xff0c;实现了天车在无人操作下的精准定位与高效作业。该…

新颖的团建分组方式

如何实现男女比例平均分组&#xff1f; 在组织团建活动时&#xff0c;采用新颖的分组方式可以增加团队的互动性和参与感。本文将介绍一种基于云分组小程序的男女比例平均分组方法&#xff0c;以及如何高效地邀请成员加入和管理分组。 步骤一&#xff1a;创建分组 1. 进入云分组…

JAVAWeb---JavaScript

第三章 JavaScript 一 JS简介 1.1 JS起源 Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言&#xff0c;主要目的是为了解决服务器端语言&#xff0c;遗留的速度问题&#xff0c;为客户提供更流畅的浏览效…

【English】长难句翻译

这里写目录标题 技巧知识点1. 定语从句 和 状从区别2. 定从 修饰词3. who 和 whom 区别4. 除了定从、状从,还有啥?5. 怎么在长难句快速定位到主谓宾而不被各种从句中的动词影响判断6. 没有,的那种一大堆从句连起来的长难句怎么办7. 时态怎么放在翻译里总结技巧 知识点 1. 定语…

游戏论坛网站|基于Springboot+vue的游戏论坛网站系统游戏分享网站(源码+数据库+文档)

游戏论坛|游戏论坛系统|游戏分享网站 目录 基于Springbootvue的游戏论坛网站系统游戏分享网站 一、前言 二、系统设计 三、系统功能设计 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…

[数据集][目标检测]汽车头部尾部检测数据集VOC+YOLO格式5319张3类别

数据集制作单位&#xff1a;未来自主研究中心(FIRC) 版权单位&#xff1a;未来自主研究中心(FIRC) 版权声明&#xff1a;数据集仅仅供个人使用&#xff0c;不得在未授权情况下挂淘宝、咸鱼等交易网站公开售卖,由此引发的法律责任需自行承担 数据集格式&#xff1a;Pascal VOC格…

DWS=业务库创建

数据库对象命名 数据库对象命名需要满足约束&#xff1a;长度不超过63个字符&#xff0c;以字母或下划线开头&#xff0c;中间字符可以是字母、数字、下划线、$、#。 【建议】避免使用保留或者非保留关键字命名数据库对象。可以使用select * from pg_get_keywords()查询GaussDB…

有什么好用的视频倒放软件?2024帮助你快速进行视频倒放软件

有什么好用的视频倒放软件&#xff1f;2024帮助你快速进行视频倒放软件 视频倒放是一种常见的视频编辑效果&#xff0c;能够为视频增添趣味或实现特殊的视觉效果。以下是5款好用的视频倒放软件&#xff0c;帮助你快速进行视频倒放操作&#xff1a; 口袋视频转换器 这是专业的…

会议音频设备行业调研:未来几年年复合增长率CAGR为3.5%

本报告中的会议音频设备主要包括扬声器和会议电话、麦克风&#xff08;桌面麦克风、吸顶麦克风、悬挂麦克风、鹅颈麦克风等&#xff09;、扬声器、视频吧、发送器和接收器、放大器和处理器以及其他配件。 据QYResearch调研团队最新报告“全球会议音频设备市场报告2024-2030”显…

QMT软件怎么申请开通?QMT软件到底是谁在用啊?QMT量化软件K线驱动介绍

QMT提供了三种运行机制&#xff0c;其中K线驱动是最为重要的一种。它主要通过handlebar函数来实现&#xff0c;具体表现为逐K线驱动。 历史K线驱动&#xff1a;在运行开始时&#xff0c;QMT量化软件会遍历所选周期的历史K线。从左向右&#xff0c;每根K线都会触发一次handlebar…

java微信机器人制作教程

Java实现微信小号做机器人 随着人工智能技术的发展&#xff0c;机器人在各行各业扮演着越来越重要的角色。在社交领域&#xff0c;微信机器人也逐渐受到人们的关注。本文将介绍如何使用Java实现一个简单的微信小号做机器人的功能。 常见开发功能&#xff1a; 好友管理&#…

王牌功能 | 法大大“用户角色权限管理”,合同数据分流、管理权限分层都搞定!

合同签了还得管&#xff0c; 按业务、按项目、按岗位级别… 关于法大大“用户角色权限管理”功能的使用&#xff1a;企业操作人员在电子合同平台创建企业后&#xff0c;需添加企业组织架构&#xff0c;主要添加合同操作相关的人员&#xff0c;即可实现合同操作与数据权限的管理…

springboot+vue+mybatis计算机毕业设计老年人健康管理系统+PPT+论文+讲解+售后

近些年来&#xff0c;随着科技的飞速发展&#xff0c;互联网的普及逐渐延伸到各行各业中&#xff0c;给人们生活带来了十分的便利&#xff0c;老年人健康管理系统利用计算机网络实现信息化管理&#xff0c;使整个老年人健康管理的发展和服务水平有显著提升。 本文拟采用Eclips…