Oracle小知识点

一、ROWID又称为伪列。是数据库为TABLE增加的一个隐藏的列,列名为ROWID。

二、NOT IN 是不会返回NULL值的。也就是说,当遇到NULL值时,NOT IN返回的是false。
       SELECT * FROM TABLEA A WHERE A.NAME NOT IN('KOOK','Z7FLY');
       结果返回NAME不是KOOK和Z7FLY的非NULL值。

三、ESCAPE指定转义字符
       SELECT * FROM CUSTOMERS WHERE CUSTOMERS.NAME LIKE '%a\_product%' ESCAPE '\';
       这里使用ESCAPE选项说明与LIKE操作符一起使用的通配符(本例中是下划线_)前面的反斜杠字符是一个转义字符。说明这       里的_只是一个单纯的字符,而不是表示匹配一个字符的通配符。

四、USING关键字
       SQL/92标准中可以使用该关键字来简化查询。但是有以下限制:
       --SQL/86
        SELECT PRODUCT_TYPE_ID FROM PRODUCTS P,PRODUCT_TYPE PT
        WHERE P.PRODUCT_TYPE_ID = PT.PRODUCT_TYPE_ID;
       --SQL/92
        SELECT PRODUCT_TYPE_ID FROM PRODUCTS P INNER JOIN PRODUCT_TYPE PT
        USING (PRODUCT_TYPE_ID);
       1、查询必须是等连接;
          满足:WHERE P.PRODUCT_TYPE_ID = PT.PRODUCT_TYPE_ID;
       2、连接中的列必须同名;
          满足:P. PRODUCT_TYPE_ID = PT. PRODUCT_TYPE_ID;
       3、SELECT子句中对该列不能使用表名或别名;
          满足:SELECT PRODUCT_TYPE_ID (P. PRODUCT_TYPE_ID或者P.PRODUCT_TYPE_ID PTID都是错的)
       4、USING子句中对该列不能使用表名或别名,只能单独使用列名。
          满足:USING (PRODUCT_TYPE_ID); (P. PRODUCT_TYPE_ID或者PT.PRODUCT_TYPE_ID都是错的)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值