zoukankan      html  css  js  c++  java
  • oracle 之 伪列 rownum 和 rowid的用法与区别

    rownum的用法

    select  rownum,empno,ename,job from emp where rownum<6

    可以得到小于6的值数据

    select rownum,empno,ename,job from emp where rownum>6 and rownum<10

    得不到数据  原因:oracle 中首先会产生编号为1的数据,也就是不满足条件,那么后面的同样会继续产生第二条数据同时也是编号为1,所以最后得不到数据

    解决方案:可以将select rownum,empno,ename,job from emp变成一个子查询

    rowid的用法   可以去重复数据

    同rownum伪列不同的是,他是物理存在,rowid是一种数据类型,基于64位编码的18个字符来唯一标志一条记录物理位置的一个id,rowid可以在表中进行查询,但是其值并未存储在表中,所以不支持增删改操作

    例如:有两条一模一样的数据

    delete from TableName where rowid not in (select min(rowid) from TableName group by 列名

     

  • 相关阅读:
    imagemagick-图片
    selenium-嘿
    centos命令行连接无线网络
    centos7安装桌面合盖不休眠
    mysql执行命令:ERROR 1820 (HY000): You must reset your password
    编码规范 C++
    Docker使用总结
    JAVA使用总结
    VS IDE 相关
    编程网站总结
  • 原文地址:https://www.cnblogs.com/zmztya/p/7207756.html
Copyright © 2011-2022 走看看