原創|大數據新聞|編輯:況魚杰|2020-12-17 13:48:03.760|閱讀 201 次
概述:在實際應用中,大多數時候都需要從多個表中獲取數據,以檢索有用的信息。SQL提供了幾個工具來完成這個任務,其中一個工具是SQL UNION操作符。這用于合并對不同表的列執行的兩個選擇命令的結果。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在實際應用中,大多數時候都需要從多個表中獲取數據,以檢索有用的信息。SQL提供了幾個工具來完成這個任務,其中一個工具是SQL UNION操作符。這用于合并對不同表的列執行的兩個選擇命令的結果。
在這篇關于SQL UNION操作符的文章中,我們將涉及以下主題:
UNION操作符用于將兩個或多個SELECT命令查詢結果中的數據合并成一個單獨的結果集。這個操作符可以刪除組合結果中存在的任何重復的數據。
為了理解這個操作符,我們來深入了解一下它的語法。
SELECT column_1, column_2,...column_n FROM table_1 UNION SELECT column_1, column_2,...column_n FROM table_2;
讓我們把這個操作符應用于不同表的列。
我們以下面的表 "Employee_dept "為例:
又以 "經理 "表為例:
要從上面兩張表中確定員工和經理屬于哪個城市,我們將使用以下查詢。
這將導致以下結果:
這表明結果中沒有副本存在。結果列的名稱是 "城市",因為結果占用了第一個SELECT語句的列名。
我們可以對多列應用UNION,也可以在最后使用ORDER BY操作符對結果進行排序,要從上面兩個示例表中檢索每個員工和經理的姓名和部門,你將使用以下代碼:
這將導致以下結果:
結果按照 "Dept_ID "進行排序。我們還可以對每個SELECT語句檢索到的行進行過濾。讓我們來看看是如何做到這一點的。
我們可以在一個或兩個SELECT語句中使用WHERE子句來篩選出被合并的行。為了從 "Employee_dept "和 "Manager "表中檢索超過60,000的員工和經理姓名和工資,我們將輸入以下內容。
這將導致以下結果:
我們也可以在UNION的SELECT語句中只使用一個WHERE子句。要找到數據集中所有經理的名字和地址,以及所有雇員的 "Dept_ID "等于1003。
這將導致以下結果:
SQL別名是給表或列的臨時名稱。這些別名只存在于它們被使用的查詢期間。我們使用 "AS "操作符來創建別名。例如,我們將使用下面的查詢來檢索所有員工和經理的信息,我們將根據他們的角色對他們進行分類。
在上面的查詢中,我們已經創建了一個臨時列,標簽為 "類型",它將用于將信息歸類為員工或經理信息。下面是上述查詢的結果。
在UNION結果的臨時 "類型 "列中,經理被標記為 "經理",其下屬被標記為 "雇員"。別名有助于創建有組織的表格結果。
UNION操作符不允許任何重復。如果我們希望兩個或多個SELECT語句的組合中出現重復,我們可以使用UNION ALL操作符。
這個SQL操作符與UNION操作符的規則相同,只是在語法中使用UNION ALL關鍵字而不是UNION關鍵字。例如,如果我們想要從 "Employee_dept "和 "Manager "表中得到所有城市的列表(包括重復的),我們將使用下面的查詢。
這將導致以下結果:
我們可以看到,結果包含了所有城市,包括所有重復的城市。至此,關于UNION操作符的文章就結束了。
關于慧都大數據分析平臺
慧都大數據分析平臺「GetInsight®」升級發布,將基于企業管理駕駛艙、產品質量分析及預測、設備分析及預測等大數據模型的構建,助力企業由傳統運營模式向數字化、智能化的新模式轉型升級,抓住數據經濟的發展勢頭,提供管理效能,精準布局未來。了解更多,請聯系。
慧都大數據專業團隊為企業提供商業智能大數據平臺搭建,免費業務咨詢,定制開發等完整服務,快速、輕松、低成本將任何Hadoop集群從試用階段轉移到生產階段。
歡迎撥打慧都熱線023-68661681或咨詢慧都在線客服,我們有專業的大數據團隊,為您提供免費大數據相關業務咨詢!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn