SQL的查询操作语句

近来在写SQL,发现能写一些复杂的SQL可以很大的提高工作的效率。今天趁着有时间整理一下,方便以后用到的时候查询:

1、对特定的条件加和操作

select sum(列名) from 表名 where 列名='条件'

2、对加和的数据再次进行加和,并且使用数据的空表

select c1+c2+c3 from (
  select 
    (select count(列名1) from 表名1 where 列名4='条件1') as c1,
    (select count(列名2) from 表名2 where 列名5='条件2') as c2,
    (select count(列名3) from 表名3 where 列名6='条件3') as c3 
  from dual
)

3、根据条件进行加和操作

select count(列名) from 表名 where 
                             列名=条件1 
                             and (列名 like '条件2' or 列名 like '条件3') 
                             and (trunc(months_between(sysdate,to_date(csny,'yyyy-mm'))/12) <= 45) 

4、将选择的结果进行拼装

select CONCAT(CONCAT(c1,'('),CONCAT(decode(c2,0,0,c1/c2),')'))
       from 
           (select
                (select count(列名) from 表名 where 列名=条件) as c1,
                (select count(列名) from 表名) as c2 
            from dual
           )

5、group by 和order by以及降序选择

select 列名 ,count(列名) as c1  
       from 表名  where 列名=条件 
       group by 列名  
       order by 列名 
       asc

6、rownum、cast在SQL中用法

select 列名,列名 from 表名 where 列名=条件 
                                 and rownum <=5 
                                 order by cast(列名 as integer) 
                                 desc

7、在SQL中使用正则表达式

select 列名 from 表名 where 列名='条件' and regexp_like(列名,'正则规则')

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值