`
z7swf
  • 浏览: 183521 次
社区版块
存档分类
最新评论

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都是错的)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics