自己整理的學習資料——DB2 V8資料庫基礎(十九)
3.5 高階sql簡單介紹
3.5.1 查詢間使用運算詞
l UNION 運算子
UNION 運算子通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重複行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重複行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
l EXCEPT 運算子
EXCEPT 運算子通過包括所有在 TABLE1 中但不在 TABLE2 中的行並消除所有重複行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重複行。
l INTERSECT 運算子
INTERSECT 運算子通過只包括 TABLE1 和 TABLE2 中都有的行並消除所有重複行而派生出一個結果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重複行。
注:使用運算詞的幾個查詢結果行必須是一致的。
3.5.2 外連線
l left outer join:
左外連線(左連線):結果集幾包括連線表的匹配行,也包括左連線表的所有行。
l right outer join:
右外連線(右連線):結果集既包括連線表的匹配連線行,也包括右連線表的所有行。
l full outer join:
全外連線:不僅包括符號連線表的匹配行,還包括兩個連線表中的所有記錄。
注:複合外連線按照從左到右的順序執行連線,左邊連線的結果集和右邊連線
3.5.3 超級分組和移動函式
l grouping sets:用來在單個sql中形成多級分組。
例:select company_id,node_id,count(customer_id) from customer group by grouping sets(company_id,node_id)
l rollup:可以在單個資料庫操作中形成多個分組。
select company_id,node_id,count(customer_id) from customer group by
rollup(company_id,node_id)
注:rollup操作不是可交換的操作,指定使用者組的順序是很重要的。
l cube: 生成分組表中分組的所有組合。
例:select company_id,node_id,count(customer_id) from customer group by
cube(company_id,node_id)
l over:移動函式可以幫助實現移動的資料分析
Select date,avg(qty) over(order by date rows between 1 preceding and 1 following) as values from sale
3.5.4 常用函式介紹
具體參見《SQL Reference Volume 1》
l 轉化為數字型別的型別轉化函式:
如果引數是一個數字表示式,返回與其相對應的浮點數,否則返回錯誤程式碼
DOUBLE() 、FLOAT()
SELECT DOUBLE('5678') FROM TEST;
返回整型常量中的數字、字串或者日期、時間的整數表示.
SELECT ID, INT(‘111’) FROM TEST;
返回整型常量中的數字、字串或者時間戳的64位長整數表示.
SELECT ID,BIGINT(time) FROM TEST;
SELECT ID,BIGINT(“111”) FROM TEST;
返回整型常量中的數字、字串的短整數表示.
SELECT ID, SMALLINT (“111”) FROM TEST;
返回一個數值的單精度浮點數表示.
返回一個數值、decimal的字串、integer的字串floating-point的字串、日期、時間或時間戳的decimal數值
返回一個表示為字串的值的16進製表示
返回小於或等於引數的最大整數.
SLECT FLOOR(88.93) FROM TEST;
l 轉化為字串型別的型別轉化函式:
返回日期時間型,字串,整數,十進位制或雙精度浮點數的字串表示
SELECT CHAR(SALARY,',') FROM TEST;
返回具有由引數指定的ASCII碼的字元,引數可以是INTEGER or SMALLINT
返回字串、日期型、圖形串的可變長度的字串表示.
SELECT VARCHAR(name,50) FROM TEST ;
返回SMALLINT,INTEGER, BIGINT or DECIMAL參數的字串值
DIGITS ()
SELECT DIGITS(id) FROM TEST
系統格式原因,本節未完。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-471547/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql資料庫學習基礎知識整理MySql資料庫
- 資料庫基礎知識整理與複習總結資料庫
- 零基礎學習MySQL資料庫—3MySql資料庫
- 學習資料庫的基礎知識的書籍資料庫
- salesforce零基礎學習(九十九)Salesforce Data Skew(資料傾斜)Salesforce
- 資料庫學習筆記 - MySQL基礎知識資料庫筆記MySql
- 突擊學習之資料庫基礎彙總資料庫
- db2 資料庫DB2資料庫
- 資料庫 基礎資料庫
- 資料庫基礎資料庫
- Go 學習資料整理Go
- 語料庫基礎學習
- 資料科學和人工智慧技術筆記 十九、資料整理(6)資料科學人工智慧筆記
- 大資料學習方法,學大資料需要的基礎和路線大資料
- 資料庫基礎使用資料庫
- 大資料學習之Linux基礎大資料Linux
- 資料庫整理資料庫
- MySQL 基礎知識梳理學習(一)—-系統資料庫MySql資料庫
- MySQL基礎入門學習教程:mysql資料庫的實現原理MySql資料庫
- 自己收集的部分Angular學習資料Angular
- 機器學習基礎-資料降維機器學習
- 零基礎大資料學習框架大資料框架
- 大資料學習之路——java基礎(二)大資料Java
- MySQL 資料庫基礎知識點複習MySql資料庫
- 31. 資料庫基礎資料庫
- 資料庫基礎知識資料庫
- 資料庫設計基礎資料庫
- 資料庫基礎概念理解資料庫
- MySQL資料庫注入基礎MySql資料庫
- Redis基礎(二)資料庫Redis資料庫
- 【資料庫】Redis基礎篇資料庫Redis
- mysql資料庫的基礎架構MySql資料庫架構
- Sql Server 資料庫學習-常用資料庫 物件SQLServer資料庫物件
- Python資料學習整理,小白們的福音Python
- 圖解資料分析 | 資料分析的數學基礎圖解
- 學習MongoDB資料庫MongoDB資料庫
- 學習大資料需要什麼基礎?大資料要學哪些內容?大資料
- 零基礎入門大資料學習,如何才能系統的學好大資料大資料
- 大資料學習記錄,Python基礎(3)大資料Python