ORACLE高階查詢

2022-06-13 04:33:09 字數 1779 閱讀 2581

1. connect by 是乙個連續的

select regexp_substr('01#02#03#04', '[^#]+', 1, level) as newport

from dual

connect by level <= regexp_count('01#02#03#04', '[^#]+');

1.0select regexp_substr('由店間調撥單433453自動生成','[0-9]+') from dual;   ====〉433453

1.1 select level from dual connect by level <=7; 

1.2  connect by prior 【就是2個列的上下級關聯,可以控制向上、下查詢,】

select

ep.*,level

from scott.emp ep

start with ep.empno = 7839

connect by prior ep.empno = ep.mgr

order by level

3.over與rank()【按部門分割槽,以工資分等級】

select deptno,empno, sal, rank() over(partition by deptno order by sal)

from scott.emp

4.over與row_number()【按部門分割槽,以工資排序】

select deptno,empno, sal, row_number() over(partition by deptno order by sal)

from scott.emp

5.over與sum()不與 order by  【按部門分割槽,計算整個部門的工資合】

select deptno,empno, sal, sum(sal) over(partition by deptno)

from scott.emp

6.over與sum()與  order by   【按部門分割槽,累計計算工資】

select deptno,empno, sal,sum(sal) over(partition by deptno order by sal)

from scott.emp

7.merge into fzq1  aa     --fzq1表是需要更新的表

using fzq bb            -- 關聯表

on (aa.id=bb.id)        --關聯條件

when matched then       --匹配關聯條件,作更新處理

update set

aa.chengji=bb.chengji+1,

aa.name=bb.name         --此處只是說明可以同時更新多個字段。

when not matched then    --不匹配關聯條件,作插入處理。如果只是作更新,下面的語句可以省略。

執行儲存過程

begin

execute immediate 'begin ' || v_procname || '(:1, :2, :3); end;'

end;

9.select trunc(sysdate, 'mm') + rownum - 1 from dual connect by rownum <= to_number(to_char(last_day(sysdate), 'dd'))

select last_day(sysdate) from dual

select trunc(sysdate,'mm')  from dual   --當月第一天

ORACLE 高階查詢

oracle 高階查詢 1.集合操作 並集 交集 補集 1 union 並集 不重複 select dept code,dept name from base dept union select dept code,dept name from geyy dept 2 union all 並集 重複...

Oracle 高階查詢

語法 with alias name1 as subquery1 alias name2 as subquery2 alias namen as subqueryn select col1,col2 col3 from alias name1,alias name2 alias namen 當查詢中...

oracle 高階查詢

一.使用集合操作符 1.union all 返回各個查詢檢索出的所有行,包括重複的行 2.union 返回查詢檢索出的所有非重複行 3.intersect 返回兩個查詢檢索出的共有行 4.minus 返回從第乙個查詢檢索出的行中減去第二個查詢檢索出的行之後剩餘的行。二.translate 函式 tr...