DB2 SQL学习

1、value

value(val1,val2) 当第一个参数为null时,返回第二个参数的值;如果第一参数非空,则直接返回第一个参数的值。

2、grouping sets分组集

grouping sets 是group by 的进一步扩展,可以定义多个数据分组,让聚合更容易

group by grouping sets(name,())这个语句就是定义了2个数据分组,第一个数据以name作为依据,第二数据相当于不使用group by,也就是把所有数据当做一组。

3、with

with语句是用查询(select语句)来定义临时集合,格式

with 结果名(字段名) as(select 字段名 from ...)

select * from 结果名  

在with语句中,前后两个字段名是一致的

例,多次递归查询

 4、where 1=1 的作用

      在SQL语句中加入where 1=1的目的,就是让where 的条件为永真,得到的结果就是未加约束条件的

     1=1 永真 1<>1 永假

     在多个不确实能够约束条件的情况下,使用where 1=1 可以很好的简化对条件的检测,如果有这个条件则使用or 或 and 加上这个条件,如果没有则不加,无需判断SQL语句中是否包含where

     1<>1可以用于只取表结构不取表数据

     create table tablename as select * from tableA where 1<>1  复制表结构

     create table tablename as select * from tableA where 1=1  拷贝表

5、date函数

current date 当前日期2018-12-05

current time 当前时间   16:21:26

current timestamp 当前时间戳   2018-12-05-16.21.32.427788

date(current timestamp) 2018-12-05  时间戳转日期

Time(current timestamp) 16:21:32 时间戳转时间

decimal(current date) 20181205   日期转字符串

6、where 后 case when

select * from branch where (1=(case when @branch='D' then 1 else 0 end ) or branch=@branch) and 其他条件

当参数branch=‘D’选择所有的branch,即不对branch进行选择操作,当@branch不等于‘D’时,选择branch=@branch的数据

7、select branch,money,money/(select sum(money) from branch) from branch

可以在select字段中,继续添加select字段选择所有费用相加,从而可以计算出按branch的费用占比

8、union

使用union 可以将两个select的结果集合并为一个结果集,这两个select结果集中字段的类型要一致,字段数量要相同

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值