計算機, 軟件
聚結SQL:說明,使用例
當製備SQL查詢通常是一個的情況出現時,有必要時,樣本數據,其中包括數據(不為空),以多列和多輸出的值從比較它們。 它解決了這個問題完全表達凝聚。 在這篇文章中,你會發現表達合併SQL,使用說明和實例的完整描述。
與合併非空值的輸出。 特點
考慮使用SQL合併特定的用途:
- 它允許指定任何數目的參數(不像ISNULL / NVL / NVL2,其中的參數的數目是有限的)。
- 它可以作為一個參數的子查詢。
- 返回結果等於大於零或Null其他的第一值,如果不是空值其他可以找到。
- SQL聚結可用於選擇選擇句子非空值,以及細化如果這一空柱設定值是不允許的(/允許的)。
- 這個表達式是等效於使用表達案,檢查順序的條件下每個參數當參數1不為空,然後ARGUMENT1。 事實上,合併是一條“捷徑”,專為方便使用,而且在許多數據庫查詢優化器重寫凝聚表達情況。
- SQL合併功能在所有主要的關係可用的 數據庫管理系統。
語法COALESCE
誰曾經使用的合併在編制SQL查詢,知道表達式的語法是非常簡單的。 這足以在括號中註明的參數被檢查空,以逗號分隔。 如果我們假設參數是名ARG1,ARG2,... ARGN,凝聚語法將如下:
合併(ARG1,ARG2,... ARGN)。
準備幾張桌子為研究這個表達式的運行機制。
編制表
為了更好地理解凝聚SQL描述,創建數據庫是數據的兩個表,提供有關房地產的信息。
第一個表包含名稱區域讓屬性和它們的區域。 的面積可提煉(area_yt)或聲明(area_decl)。
ID | OBJECT_NAME | area_yt | area_decl |
1 | 1號樓 | 116.2 | 114 |
2 | 未完成建設1 | 568 | |
3 | 房間1 | 64.7 | |
4 | 房間2 | 34.2 | |
五 | 地塊1 | 112 | 111.6 |
6 | 1建設 | ||
7 | 房間3 | 27.9 | |
8 | 2建設 | 37.2 | 36.4 |
9 | 建設2 |
第二個表Basic_characteristic讓包含對物業的主要特點是信息 - 分機(分機)(深)(地區)(範圍),深度,面積,體積,高度(高度)。
ID | OBJECT_NAME | 延期 | 深度 | 區 | 範圍 | 高度 |
1 | 1號樓 | 892.4 | 三十 | |||
2 | 建設2 | 48 | ||||
3 | 1建設 | 164.7 | ||||
4 | 地塊1 | |||||
五 | 房間1 | 23.6 | ||||
6 | 房間2 | 34.7 | ||||
7 | 房間3 | 19.8 |
來自聯合SQL語法的描述,使用和直接進入例子。
使用範例
語法在合併表達是非常簡單的,但不要忘記命令的結果將是在參數列表中找到的第一個非空值是很重要的。 這種看法是非常重要的,所以在表達式中的參數必須按重要性順序設置。 最簡單的方式來了解太空的原則表。 創建一個選擇的屬性的名稱,以及該地區的值的查詢:
選擇Area.id,Area.object_name,COALESCE(Area.area_yt,Area.area_decl) 從區域 |
而得到的結果:
ID | OBJECT_NAME | 合併 |
1 | 1號樓 | 116.2 |
2 | 未完成建設1 | 568 |
3 | 房間1 | 64.7 |
4 | 房間2 | 34.2 |
五 | 地塊1 | 112 |
6 | 1建設 | |
7 | 房間3 | 27.9 |
8 | 2建設 | 37.2 |
9 | 建設2 |
對於項目“1號樓”,“不積1”和“結構2”兩個值平方吃飽了,但該地區優先進行精製,正如我們在第一個參數的清單指向它。 表達凝聚發現的第一個非空值,並把他帶到停止進一步的觀看參數。 這種結構的查詢 - 正確的,比聲明,因為更精緻的特定區域。 如果我們指定為第一個參數申報區,那將是一個優先級表的填寫此字段時。
另外在選擇使用,往往凝聚表達式使用WHERE條件。 它允許從行中哪些字段空白的列表的值(或者反之亦然,以在結果只有那些值,其中所述場列表是空的包括)的結果切斷。 這種情況比比皆是:例如,在新員工只取得了關於它的基本信息數據庫的設計,並填補留下的細節“為後”的企業。 漸漸地,“缺口”出現 - 或者檢查之前,或在假期/出差/醫院僱員的方向。
從表中選擇必須要回答沒有特徵值的性質的主要特點:
SELECT ID,OBJECT_NAME 從Basic_characteristic 凡COALESCE(擴展,深度,面積,範圍,高度)為空 |
通過在表中該請求有一個匹配 - 對象“劇情1”時,所有的字段,其中所述坯件的特徵:
ID | OBJECT_NAME |
4 | 地塊1 |
我們希望我們的詳細說明合併SQL幫助您了解使用此表達的所有功能,以及與重要的細微差別的交易。
Similar articles
Trending Now