Oracle - 關係數據庫管理系統

常見語法

1、with as 短語,抽取公用數據

with A_table as
 (select 'feiqs' name, 18 age FROM dual),
B_table as
 (select 'feiqs' name, 29 age FROM dual)
select * from A_table,B_table

2、rowid 數據唯一標識,該值表明了該行在數據庫中的物理具體位置

select rowid from st_protocol

3、rownum 查詢序號列,用於分頁、關聯不相干的表

SELECT A.*, B.*
FROM 
  (SELECT S.*, ROWNUM RN FROM STUDENT S) A
  FULL JOIN 
  (SELECT C.*, ROWNUM RN FROM COURSE C) B
ON A.RN = B.RN;

4、union 和 union all

union all 只是合併查詢結果,並不會進行去重和排序操作,在沒有去重的前提下,使用 union all 的執行效率要高。

5、inner join、left join、right join 連接查詢

inner join 返回匹配條件成立的所有行。
left join 將會保留左邊表中的全部記錄,而右表沒有的部分用 NULL 表示。 

6、full join、笛卡爾積查詢

full join 左連接和右連接查詢的結果並集,進行去重後的結果。
select ... from A,B 爲笛卡爾積查詢

常見函數

1、to_date() 字符串轉日期

select to_date('20050101','yyyy-MM-dd') today from dual

2、to_char() 將數值或日期型轉化爲字符

select to_char(12345678,'999,999,999,999')  from dual;
select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

3、replace() 函數用於替換字符串

replace(原字段,舊內容,新內容)

4、sys_guid() 生產 uuid

select sys_guid() from dual

5、nvl() 函數

nvl(expr1,expr2) 如果第一個參數爲空那麼顯示第二個參數的值。

6、count、max、min、sum、avg

數量統計,最大值,最小值,合計值,平均值

運維相關

1、讀寫分離

讀寫分離的重點其實就是數據同步,能實現數據實時同步的技術很多。基於日誌的Oracle複製技術,Oracle 自身組件可以實現,同時也有成熟的商業軟件。選商業的獨立產品還是 Oracle 自身的組件功能,這取決於多方面的因素。比如團隊的相應技術運維能力、項目投入成本、業務系統的負載程度等。

2、不同分頁出現重複數據

在 Oracle 數據庫中進行分頁查詢時,如果排序條件所對應的字段值有大量重複或爲空時,則可能會出現分頁數據重複的情況。
如果要避免出現分頁數據重複的情況,則一定要在排序時加上唯一值字段爲排序條件。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章