Oracle常用函數及其用法

來源:互聯網
上載者:User

標籤:合成   目標   效果   小數   str   text   oracle函數   建立   int   

01、入門Oracle本章目標:     掌握oracle安裝、啟動和關閉     基本管理以及常用工具     簡單備份和恢複     熟練使用sql,掌握oracle常用對象     掌握資料庫設計和最佳化基本方法 
http://jingyan.baidu.com/article/5d6edee228308899eadeec3f.html
oracle資料庫:一系列物理檔案的集合
一個執行個體是對應一個資料庫,但是在12c中(c代表雲)RAC叢集,可以多個執行個體對應一個資料庫
 03、SQL編程1.oracle中between and 為閉區間,mysql中為開區間 2.修改表名語句:alter table teacher rename column gandar to gender; 3.oracle中 兩個單引號表示一個引號,例如: select ‘insert into dept values(‘‘‘||deptno||‘‘‘,‘‘‘||dname||‘‘‘,‘‘‘||loc||‘‘‘);‘ from dept order by deptno效果如下:

 

  4.把能過濾最多資料的條件寫在最後,會比較最佳化sql 5. oracle函數:用於執行特定操作包括:單行函數、彙總函式、分析函數要求:函數帶有一個或多個參數,且返回一個值   1)單行函數:數字、字元、日期、轉換、其他 查詢每一行只返回一個值 2)彙總函式:基於一組行來返回結果avg、min、max、sum、counthaving字句:用於指定group by 子句檢索行的條件 3)分析函數:根據一組行來計算彙總值,累計排名,返回多個行row_number 、rank、 dense_rank4)集合操作符:union、 union all、intersect、minus將兩個查詢的結果組合成一個結果 select tname,deptno,rank() over(partition by deptno order by sal) rank,dense_rank() over(partition by deptno order by sal),row_number() over(partition by deptno order by sal),row_number() over(order by sal) row_number from teachersql分析:rank()允許有並列排名,下一排名繼續從上一排名結束開始;dense_rank()允許又並列排名,下一排名會跳過人數佔用;row_number() 不允許有並列排名。partition by 根據什麼分組;order by 根據什麼進行排名。查詢結果如:

 

            6.oracle分頁查詢偽列:像一個表列,不儲存在表中,偽列可以從表中查詢,但不能增刪改常用偽列:rowid、rownumrowid:表中行的儲存地址,可以唯一標識資料庫中的一行,可以通過rowid快速定位表中一行。 比索引都快rownum:是查詢返回的結果集中行的序號,可以使用他來限制查詢返回的行數 分頁思想-分三層實現:1)加限制條件,有一個結果集2)給結果集過濾最大的範圍(<=最大值)3)給結果過濾出最小的範圍(從第幾條開始)   04、資料庫設計本章目標:1.理解資料庫的正常化--三大範式2.瞭解設計資料庫的步驟3.掌握如何繪製資料庫的E-R圖  1.三大範式第一範式:目標是確保每列的原子性,如果每列都是不可再分的最小資料單元,則滿足第一範式第二範式:關係滿足1NF,並且除了主鍵以外的其他列都依賴於該主鍵,則滿足第二範式第三範式:如果一個關係滿足2NF,並且除了主鍵以外的其他列都部傳遞以來與其他列,則滿足第三範式 2.設計步驟1)收集資訊2)標識對象3)標識對象的屬性4)標識對象之間的關係註:在實際開發中一般不會建立主外鍵,而是使用邏輯關聯來操作。 3.繪製E-R圖使用PowerDesigner來繪製E-R圖 05、SQL最佳化與體繫結構本章目標:1.瞭解sql最佳化基本技巧2.掌握使用索引提高查詢效率3.瞭解對錶進行分區操作4.瞭解常見資料庫物件 1.sql最佳化技巧1)一般最佳化技巧:     不要用*代替所有列名     刪除所有資料用truncate代替delete     用not exists 代替 not in      用exists 代替 in     用exists代替distinct註:後三點在11g之前有用,11g之後本身進行了最佳化 第5條的執行個體如下:查詢出出現在教師表裡的不同的部門編號 select distinct t.deptno from teacher t where t.deptno is not null ; select * from dept where exists (select 1 from teacher where teacher.deptno = dept.deptno) 2)錶鏈接方法     驅動表的選擇     where子句的串連順序:表串連關係放在前面,過濾記錄越多的條件字句應放置到後面 sql執行順序是從右往左進行。 驅動表: from後面靠右的那個表就是驅動表(兩張表都沒有索引的情況);有索引的情況下,應該是沒索引的那張表是驅動表     驅動表要選擇小表 3)索引索引分為邏輯分類和物理分類,   

Oracle常用函數及其用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.