SQLアタマアカデミー
最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (5)集合指向と手続き型
集合指向と手続き型
本稿では,
SQLは長らく,
ここで,
図9 集合指向と手続き型の対比
集合指向 | 手続き型 | |
処理単位 | レコードの集合 | レコード |
行の順序 | 意識しない | 意識する |
ソート | 明示的には行わない | コード上で行う |
OLAP関数は,
このようにOLAP関数というのは,
終わりに
最後に,
- OLAP関数はSQLの難点だった行間比較を簡単,
高速に実行するために導入された - OLAP関数は見た目上,
集約関数のように見えるが, 実はまったく集約機能は持っていない - その理由は,
OLAP関数がSELECT句で実行される関数だから - OLAP関数を使うときは常に横
(PARTITION BY) と縦 (ORDER BY) の2軸を考えること - PARTITION BY句でウィンドウを作ったあと,
さらに内部でフレームという範囲制限もできる
さて,
終わりといっても実は次号から,
こちらも引き続き受講していただければ幸いです。それでは,
参考資料
- J.セルコ
『SQLパズル 第2版』 (翔泳社, 2007) OLAP関数の練習問題としては,
「パズル15 現在の給料と昇給前の給料」 「パズル29 最頻値を求める」 「パズル35 在庫調整」 「パズル38 記録の更新」 などがお勧めです。 - ミック
「SQLアタマ養成講座」 第2章 「SQL流行間比較」 OLAP関数と相関サブクエリ,
双方で同じことをやろうとした場合にどういう違いが出るか, という観点で解説を行っています。特にOLAP関数を持たないMy SQLユーザの方には有用でしょう。
バックナンバー
SQLアタマアカデミー
- 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (5)集合指向と手続き型
- 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (4)OLAP関数と集約関数を組み合わせる
- 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (3)OLAP専用関数
- 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (2)OLAP関数の基本構文
- 最終回 OLAP関数で強力な統計処理を実現!―手続き型から理解するSQL (1)OLAP関数とは何か
- 第10回 結合大全 (5)非等値結合
- 第10回 結合大全 (4)自己結合
- 第10回 結合大全 (3)外部結合
- 第10回 結合大全 (2)内部結合
- 第10回 結合大全 (1)クロス結合