oracle学习笔记1

Oracle学习笔记:

1、操作符优先级:*、/、+、- ;乘除的优先级高于加减,同一优先级运算符从左向右执行,括号内的运算先执行。

2、连接符:|| ;把列与列,列与字符连接在一起,可以用来‘合成’列。

select p.person_code || '/' || p.person_name from app_person p
3、比较运算:=[ 等于]、> [ 大于 ]、>= [ 大于、等于 ]、< [ 小于 ]、<= [ 小于、等于 ]、<> [ 不等于 ] ;BETWEEN...AND...[在两个值之间(包含边界)]、IN(set)[等于值列表中的一个]、LIKE[模糊查询]、IS NULL[空值] 。
4、模糊查询like ,%代表一个或多个字符,_代表一个字符。

select * from app_person p where p.person_name like '_民%'


5、分组函数:AVG,COUNT,MAX,MIN,STDDEV,SUM

select avg(a.account_cost),
       STDDEV(a.account_cost),
       COUNT(*),
       MAX(a.account_cost),
       MIN(a.account_cost),
       SUM(a.account_cost)
  from eam_fa_asset a
 group by a.duty_dept_id

组函数忽略空值,NVL函数使分组函数无法忽略空值。

select avg(sa.apply_scrap_amt)
  from EAM_Fa_Scrap_Apply sa
 where sa.scrap_apply_id in (4541, 4542)

不能在WHERE子句中使用组函数,可以在HAVING子句中使用组函数。

select a.duty_dept_id, count(*)
  from eam_fa_asset a
having count(*) > 10
 group by a.duty_dept_id

6、多行子查询:in,any,all

IN:等于列表中的任何一个
ANY:和子查询返回的任意一个值比较,等同与最值比较
ALL:和子查询返回的所有值比较,等同与最值比较

select sa.ACCOUNT_COST
  from EAM_Fa_Scrap_Apply sa
 where sa.ACCOUNT_COST < any (select a.account_cost
          from eam_fa_scrap_apply a
         where a.duty_dept_id = 1)
   and sa.duty_dept_id <> 1 --4665
select sa.ACCOUNT_COST
  from EAM_Fa_Scrap_Apply sa
 where sa.ACCOUNT_COST < (select min(a.account_cost)
                            from eam_fa_scrap_apply a
                           where a.duty_dept_id = 1)
   and sa.duty_dept_id <> 1 --4665






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值