oracle 学习笔记 1

本文解析了一个复杂的SQL查询案例,涉及多个表的连接、子查询、聚合函数、GROUP BY使用等。通过具体实例解释了DECODE函数的作用原理及NVL函数如何处理NULL值,并介绍了ROUND函数的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

select * 
from (select * from table11,table12 where table11.id = table12.id and ...) table1,
     (select * from table21,table22 where table21.id = table22.id and ....)table2,
     (...)table3,
     (...)table4,
     (...)table5
     
     其中用到了聚合函数,group by ,等基础知识。对于一个sql菜鸟都谈不上的鸟来说,这任务是多艰巨啊啊啊!!!
     
     分析分析:
     NVL (SUM (DECODE (tpcl.init_level, 13101001, 1, 0)),0) AS TOTAL_SUM_H,
     对这个字段tpcl.init_level进行sum求和计算 
     decode函数,类似于if else 逻辑,如果tpcl.init_level = 13101001 则 该字段为1,否则为0,
     nvl 如果字段为null,则返回0,
     ROUND(TOTAL_AVG1/DECODE (TOTAL1, 0, 1, TOTAL1),3)*100 AVERAGE1,    
     round(number, num_digits)函数 number为四舍五入的数字,num_digits精确值, 函数 返回按指定位数进行四舍五入的数值
     
     这条查询语句 分别从五个子表中查询出数据,其中每个子表都是独立的
     
     
with table1 as (select tb1.name,tb2.age from tb1,tb2,tb3 where ... and ...group by tb1.name,tb2,age) ,
     table2 as() ,
     table3 as()  
select * from table1,table2,table3 where .... and ....

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值