程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 淺談SQL與PLSQL開發實戰

淺談SQL與PLSQL開發實戰

編輯:關於SqlServer

編者注:當講到了性能優化和案例方面的東西,就要想到如何從開發人員的角度進行了理解,認識SQL是如何執行,以及如何學習高級的SQL,這篇文章對以上問題做了簡單小結。

▲ITPUB版主丁俊

▲全面的Oracle SQL知識體系

談到認識SQL的邏輯和物理執行順序邏輯順序時,丁俊提到兩點:一、理解SQL的邏輯執行順序,可以大幅度減少錯誤SQL的編寫。二、理解SQL的邏輯執行順序,可以深化對SQL的認識,有利於處理更加復雜的業務邏輯。

▲認識SQL的邏輯和物理執行順序邏輯順序

能夠用SQL解決的就不要用PLSQL了,而PLSQL是SQL的很好的補充。

▲認識SQL的邏輯和物理執行順序 邏輯順序續

SQL的物理執行順序就是實際的EXECUTION PATH.物理執行順序依賴於CBO優化器組件,非常復雜。

▲認識SQL的邏輯和物理執行順序 CBO簡介

▲認識SQL的邏輯和物理執行順序 物理執行順序案例

▲從分析函數學習談如何學SQL

從文檔提取分析函數特點:

分析函數依賴於分析子句對當前行所屬的分組進行分析函數計算。用於復雜的行間和累計值的計算。

分析函數與組函數不同。根據1的特點,分析函數同時能計算分組值,並且還能保留當前行的其他列值。--重要特性

分析函數分類:排名(rank,dense_rank,row_number,first/last,ntile等)、聚合報表函數 (sum,count等以及ratio_to_report)、行比較(lead/lag,first_value/last_value)、數學統計 (stddev,var_pop等)等函數。

從分析函數學習談如何學SQL總結

分析函數可以實現復雜的行間計算功能,諸如累計值,行間比較,報表統計等功能。學習分析函數要把握每種分析函數的特點,並掌握分析函數中的關鍵元素 的聯系區別:比如ROWS與RANGE區別,window子句與partition、order by的關系,掌握窗口、當前行的概念。此外Oracle還支持自定義的聚集函數,可以實現分析函數的功能,可以參考Data Cartridge Developer‘s Guide。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved