sql >> データベース >  >> RDS >> Oracle

Oracleデータベースでは、ROWNUMとROW_NUMBERの違いは何ですか?

    ROWNUMは、クエリによって返される各行に番号を割り当てる「疑似列」です。

    SQL> select rownum, ename, deptno
      2  from emp;
    
        ROWNUM ENAME          DEPTNO
    ---------- ---------- ----------
             1 SMITH              99
             2 ALLEN              30
             3 WARD               30
             4 JONES              20
             5 MARTIN             30
             6 BLAKE              30
             7 CLARK              10
             8 SCOTT              20
             9 KING               10
            10 TURNER             30
            11 FORD               20
            12 MILLER             10
    

    ROW_NUMBERは、行のグループ内の順序に従って各行に番号を割り当てる分析関数です。

    SQL> select ename, deptno, row_number() over (partition by deptno order by ename) rn
      2  from emp;
    
    ENAME          DEPTNO         RN
    ---------- ---------- ----------
    CLARK              10          1
    KING               10          2
    MILLER             10          3
    FORD               20          1
    JONES              20          2
    SCOTT              20          3
    ALLEN              30          1
    BLAKE              30          2
    MARTIN             30          3
    TURNER             30          4
    WARD               30          5
    SMITH              99          1
    


    1. SQL ServerでのIIF()のしくみ

    2. SQuirrelSQLクライアントをインストールする方法

    3. SQLServerの「Waitforでクエリは許可されていません」エラー101

    4. SQL Serverの「ゼロ除算エラー」を修正する5つの方法(メッセージ8134)