Oraclec查询优化-单表查询

  1. 查询空值:IS NULL;
  2. 非空值:IS NOT NULL;
  3. 将空值转换为实际值:
    1. NVL(source,target):不支持多个参数;
    2. coalesce(source,target):支持多个参数;
      1. 例子:返回第一个非空的列:
        1. nva(nvl(nvl(a1,a2),a3),a4);
        2. coalesce(a1,a2,a3,a4);
  4. 拼接使用“||”;
  5. 限制返回函数:使用伪列rownum:
    1. 不能直接使用rownum="所需行数",因为rownum是依次赋值的,首先得有第一行,之后才有第二行;
      1. 例如:取出第二行的数据:SELECT a1,a2 FROM(SELECT ROWNUM ru, a1,a2 FROM dual) t WHERE rn=2;
  6. 随机数:dbms_random.value():
    1. 使用dbms_random.value()产生随机数:
      1. 例子:从表中随机获取三条数据:SELECT a1,a2 FROM(SELECT a1,a2 FROM dual ORDER BY  dbms_random.value()) t WHERE ROWNUM<=3;
  7. 转义ESCAPE:
    1. 例如:表数据值有为“_ACRAW”,若要进行模糊查询“_ACR%”,其中“_”在Oracle中为通配符,与“%”用法一直,都是代表一个或多个任意字符,需要使用ESCAPE '\' 字进行转义写为 LIKE ‘_\ACR%’ ESCAPE '\',如果进行模糊查询为“_\ACR%”,则 LIKE ‘_\\ACR%’ ESCAPE '\';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值