SQL的规范

SQL的规范

  1. 合理定义表名,数仓中不同层要以不同的层的名字作为开头,一般表名开头为字母

  2. 注释,单行注释,多行注释,方便以后阅读

    -- 单行注释
    -- 从SomeTable中查询col_1 
    SELECT col_1
      FROM SomeTable;
    
    /*
    多行注释
    从 SomeTable 中查询 col_1 
    */
    SELECT col_1
      FROM SomeTable;
    
  3. 注意缩进,提高可读性

    -- 好的缩进
    SELECT col_1, 
        col_2, 
        col_3,
        COUNT(*) 
      FROM tbl_A
     WHERE col_1 = 'a'
       AND col_2 = ( SELECT MAX(col_2)
                       FROM tbl_B
                      WHERE col_3 = 100 )
     GROUP BY col_1,
              col_2,
              col_3
    
    
    -- 坏的示例
    SELECT col1_1, col_2, col_3, COUNT(*)
    FROM   tbl_A
    WHERE  col1_1 = 'a'
    AND    col1_2 = (
    SELECT MAX(col_2)
    FROM   tbl_B
    WHERE  col_3 = 100
    ) GROUP BY col_1, col_2, col_3
    
  4. 注意大小写的使用:

SELECT col_1, col_2, col_3,
    COUNT(*)
  FROM tbl_A
 WHERE col_1 = 'a'
   AND col_2 = ( SELECT MAX(col_2)
                   FROM tbl_B
                  WHERE col_3 = 100 )
 GROUP BY col_1, col_2, col_3
  1. 注意空格的使用
-- 好的示例
SELECT col_1
  FROM tbl_A A, tbl_B B
 WHERE ( A.col_1 >= 100 OR A.col_2 IN ( 'a', 'b' ) )
   AND A.col_3 = B.col_3;

-- 坏的示例
SELECT col_1
  FROM tbl_A A,tbl_B B
 WHERE (A.col_1>=100 OR A.col_2 IN ('a','b'))
   AND A.col_3=B.col_3;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值