資料庫知識(主要基於Oracle,Sql可參考)

2022-03-17 02:44:52 字數 3106 閱讀 1813

1.關於union的知識

select 11 from dual

union

select 11 from dual

select 11 from dual

union all

select 11 from dual

有區別,union的作用是合併查詢結果  all保留重複行

2. 關於order by的知識

2.1 select t.*, t.rowid from

users t

order

by1,2

--按照列號排序

2.2 select t.*, t.rowid from

users t

order

byt.name nulls first

-- 該欄位空值排前面

select t.*, t.rowid from

users t

order

by t.name nulls last

-- 該欄位空值排後面

2.3 select t.*, t.rowid from users t where t.name in('

admin

','test2

','測試

')order

by instr('

admin,test2,測試

',t.name)

--按in順序排序

2.3.1 select t.*, t.rowid from

users t

order

by instr('admin

,test2,測試

',t.name) desc

--按in順序排序 ps:排在最底部 各位可以按需求對 instr裡面的值進行調整

3. 關於base64位資料庫加密解密的知識

select utl_raw.cast_to_varchar2(utl_encode.base64_decode(utl_raw.cast_to_raw('

mteumg==

'))) as "base64解碼後資料" from dual --

解密 結果

11.2

select utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw(11.2))) from dual --

加密 結果 mteumg==

4. oracle mod的用法 取n以內被m整除的數

select t.rnum  from (select rownum rnum from all_objects where rownum <=

10 ) t where mod(t.rnum,3)=0;

--10以內被3整除的數 結果 3,6,9

select

sum(t.rnum) as

total_sum

from (select rownum rnum from all_objects where rownum <=

10 ) t where mod(t.rnum,3)=0;

--10以內被3整除的數的和 結果 18

5.oracle decode的用法

select decode(aa,'

11','

資料是11

','22

','資料是22

','其他資料

') as

"資料結果"

from

(select

11as aa from

dual

union

allselect

22from

dual

union

allselect

221from

dual

union

allselect

333from

dual

)

6.oracle 的start with 用法

select t.*

from

sys_tree t

where t.isdel=

1start

with t.code=

'100

'connect

by prior t.id =

t.pid

order

byt.orderno

--查詢所有的子節點

select t.*

from

sys_tree t

where t.isdel=

1start

with t.code=

'100

'connect

by prior t.pid =

t.id

order

byt.orderno

--查詢所有的父節點

7.oracle update select語句

update suppliers a set (supplier_class,status)=(select b.name,b.value from tmptmp1 b where a.code = b.id)

8.oracle行轉列之wmsys.wm_concat()方法

select t.id, t.name from testtab t;

a2 t10

a3 t12

a2 1sd

a1 123

a1 ssss

a3 1234

我們通過 10g 所提供的 wmsys.wm_concat 函式即可以完成 行轉列的效果

select t.id, wmsys.wm_concat(t.name) name from testtab t group by t.id;

資料庫知識 oracle

總要學點新的東西 oracle i,g,c分別代表internet,網格計算方式,提公升了資料庫的分布,c指雲服務。個人學習使用不要錢,工作之中則需要繳費 超級管理員 sys change on install 普通管理員 system manager 普通使用者 scott tiger需要解鎖 大...

oracle資料庫主要命令

一.安裝篇 1 安裝的時候選擇建立資料庫他自然會建立乙個資料庫 2 安裝好了oracle軟體,但是沒有建立資料庫的話,可以通過這個工具來圖形化建立 database configuration assistant 建立資料庫 表 6包括啟動 oracle 資料庫配置助手 用來建立 tivoli pr...

Oracle資料庫知識積累

1.在oracle資料庫中對於資料型別為時間 date 的字段的查詢或者篩選,假設資料庫中該型別字段值為2019 09 18,那麼在寫sql篩選語句時要寫成以下格式 where to char 欄位名,yyyy mm dd hh24 mi ss 2019 09 18 2.oracle 中的rownu...