作为新时代SQL Boy,大部分时间都是在写sql,很多时候看到别人写的代码实在是不规范,命名随便写,没有缩进,看起来很没有逻辑性,今天分享下我自己的一些规范,从这里修改而来。

--名称:xxx项目
--目的:规范sql代码
--日期:2018-11-16
--Author:苏格拉底的猫
--E-mail:suyin1203@gmail.com
--修改人:
--修改时间:
--修改原因:--计算逻辑--1、提取数据--2、数据初步处理--3、指标汇总处理--4、发送预警邮件-------------------------------风格说明-----------------------------------------
--SQL代码风格--资料来源:https://www.sqlstyle.guide/zh/
--要点--项目开头--名称:--目的:--作者:--时间:--修改:--计算逻辑:--SQL代码--关键字:所有的关键字用大写,字段名和表名用小写,SELECT, FROM --表名:使用业务相关的单词组成,ad.sy_test_xxx_order_20181128--字段名:使用有意义的英文单词,orders, revenue, 尽量少用中文--对齐:SELECT,FROM,WHERE,GROUP等关键词右对齐,字段名左对齐。每个字段一行--空格:在运算符两边加空格, order1 + order2--换行:遇到AND 和 OR 以及分号,都换行,分号单独成一行,每个字段单独一行--JOIN:JOIN语句缩进到川流的另一侧--宽度:每行不要超过80个字符,超过了会造成阅读苦难(编辑器不要出现左右拖动条)--别名:表别名 AS 后从t1开始,不要从t开始,最后会导致表字段不能对齐--逗号:逗号写在字段的最前面,方便增加或者注释字段,也方便在字段后增加字段注释--CASE WHEN:WHEN和TEN单独成行-- 案例,只是展示,代码无任何含义-- xxx订单
DROP TABLE IF EXISTS ad.sy_test_xxx_order_20181128
;
CREATE TABLE ad.sy_test_xxx_order_20181128
AS
SELECT t1.etl_dt --时间, t1.bank_id, COUNT(DISTINCT t1.orders_id) AS CNT FROM ad.order AS t1LEFT JOIN (SELECT t1.etl_dt, t1.bank_id, COUNT(DISTINCT t1.orders_id) AS CNT FROM ad.user_orders AS t1GROUP BYt1.etl_dt, t1.bank_id) AS t2ON t1.etl_dt = t2.etl_dtAND t1.banker_id = t2.bank_idWHERE t1.etl_dt = '2018-10-11'AND t1.bank_id = 1001GROUP BY t1.etl_dt, t1.bank_id
;SELECT * FROM ad.sy_test_xxx_order_20181128 AS t
;--END

shell 提取sql 的字段名表名_SQL代码风格规范相关推荐

  1. shell 提取sql 的字段名表名_Mysql 常用SQL语句集锦(仅学习)

    基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day from table_name" ...

  2. java正则获取sql表名_如何提取SQL语句中的表名

    如果不带别名的话,可以就正则实现. 不过java的正则有些限制,所以对于from中多于10张表的就有问题了,不多可以自己在添加,考虑不是很完善 Stringstr="INSERTINTOA\ ...

  3. MyBatis构建sql时动态传入表名以及字段名

    http://wendy-wxie.iteye.com/blog/1605193 用了mybatis很长一段时间了,但是感觉用的都是比较基本的功能,很多mybatis相对ibatis的新功能都没怎么用 ...

  4. mybatis 动态字段与表中不一样_mybatis创建一个或多个新用户 insert 字段和表名不确定时动态添加问题...

    创建用户: /** * 创建一个或多个新用户 insert 字段和表名不确定时动态添加 */ @Test public void createAccount() { String lineColumn ...

  5. groovy怎样从sql语句中截取表名_SQL基础教程学习笔记

    点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 1.数据库和SQL RDBMS:关系数据库管理系统 比较代表性的有:Oracle(甲骨 ...

  6. python解析sql语句表名_python正则表达式匹配sql语句中的表名

    [ string text = "select * from [admin] where aa=1 and cc='b' order by aa desc "; Regex reg ...

  7. java得到sql语句表名_使用fdb-sql-parser替换SQL语句中的表名

    导语 因为项目中要做跨数据源的数据分析功能,所以使用Presto这个开源框架.但是使用Presto的时候需要指定当前表所在的数据库类型和数据库名,所以需要对SQL语句中的表名进行捕获和替换. 一.探索 ...

  8. [转】sql修改列名及表名

    sql 修改列名及表名 与之前转的那篇文章不同,因需求变更要改表的列名,平常都是跑到Enterprise manager中选取服务器->数据库->表,然后修改表,这样太麻烦了,查了一下,可 ...

  9. Sql Server查看所有数据库名,表名,字段名(SQL语句)

    1.获取所有数据库名: SELECT Name FROM Master..SysDatabases ORDER BY Name 2.获取所有表名: SELECT Name FROM DatabaseN ...

最新文章

  1. 如何配置三层交换机创建VLAN
  2. duilib combo增加搜索栏_微信对话框上线搜一搜,搜索一步到位!
  3. svn 分支上新增文件合并发生冲突_SVN的使用、分支合并及解决冲突详解
  4. Github上传代码截图过程
  5. swig封装 c语言函数到python库,python swig 调用C/C++接口
  6. [python opencv 计算机视觉零基础到实战] 十一找到图片中指定内容
  7. oracle数据库卸载(需要完全卸载oracl才能重装)
  8. c语言sgoto 标志位,如何在Go中设置TCP数据包的“不分段”标志位?(How to set “don't fragment” flag bit for TCP packet in Go?)...
  9. Java:一步步带你深入了解神秘的Java反射机制
  10. [HTML]POST方法和GET方法
  11. JavaScript(3)——Object-Oriented Design
  12. input file限制上传文件类型
  13. 【艾特淘】淘宝流量黄金标题的制作方法本
  14. 征途2经典版服务器双线哪个稳定,《征途2》11月14日全区服务器版本更新公告
  15. JavaWeb-JSON
  16. PS第一课--基本操作
  17. Flume简介及配置
  18. bzoj3998/洛谷3975 [TJOI2015]弦论 (后缀自动机)
  19. CNN原理及模型参数
  20. 前端有哪些好的学习网站?

热门文章

  1. Java EE CDI处理程序方法示例
  2. ADF:动态视图对象
  3. 使用Spring 3 MVC处理表单验证
  4. Google AppEngine:任务队列API
  5. 没有J2EE容器的JNDI和JPA
  6. 设置Spring 3开发环境
  7. 使用RequestFactory API进行Spring GWT集成
  8. Java软件项目开发命名规范_命名规则
  9. rostcm6情感分析案例分析_卷积情感分析
  10. php 链接文件名_7、php-fpm进程管理