关闭

oracle学习笔记

335人阅读 评论(0) 收藏 举报

1.使用 Out jion 代替  Not In可以提高检索额效率;
  使用 NOT EXISTS 代替 Not IN 可以更加提高效率.
  ----------可以参考Oracle9i Chapter12(Page229-230)

2.使用UNION,INTERSECT,MINUS 时两个表用select返回的的列的数据类型和数目必须相同
  显示的结果将和前面的一个select语句查询的字段的名称相同
3.在 IN 和UNION,INTERSECT,MINUS混合使用的地方,IN具有更高的优先级

 

4.Oracel9i第十三章
  关于一些复杂的使用:
  (1)RANK(input)函数,确定input指定的值的级别,可以和within group和order by在一块使用
     在视图中使用.
      例子:select RANK(3) within group (order by Counter desc ) from CATEGORY_COUNT;
           CATEGORY_COUNT是视图.

  (2)PERCENT_RANK(input)函数,用法同上.
     在视图中使用.

  (3)使用临时表(只是在这次会话中存在,或数据只是在这次事务中存在)
     create global tempory table
     (.....
         )
      on commit perserve rows  --表示在本次会话中存在
      on commit delete rows    --表示事务结束时就删除
  (4)使用ROLLUP,GROUP,CUBE,GROUPING
      ROLLUP,CUBE一般都是用在GROUP的子句中.
      ROLLUP和sqlplus中的compute的功能有些相似,先对每个分组进行统计,然后再对整个结果进行统计.
      GROUPING函数可以用来区分由ROLLUP条件查询出来的分组统计和总计.
      CUBE也是用来进行统计的.
  (5)Family Trees and connect by
     P244-254页,
     查询的表中有某个字段是另一个字段的祖先.
      

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:10008次
    • 积分:157
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章存档
    下载EclipseUML的地址