SQL--聯合查詢【Union】


集合運算符是針對兩個集合操作的,兩個集合必須有相同的列數;列具有相同的數據類型(至少能夠隱式轉換的);最終輸出的集合的列名是,由第一個集合的列名來確定的(可以用來連接多個結果)。

注意:聯合【Union】與連接不一樣【Join】。

        聯合:將多個結果集,合並為一個結果集。Union(去除重復,相當於默認應用了Distinct),Union All不去除重復。

        一般,我們用聯合查詢,用Union All,因為要連接兩個結果集,當然是兩個結果集都需要,Union All比Union的效率高,少了去除重復的步驟。

下面就用這兩個表,練習一下:

 

實例一:

 

 

 

實例二:

 

實例三:

 

 

實例四:

 

實例五:

下面的這兩句代碼執行之后:

SELECT * FROM dbo.Student
SELECT * FROM dbo.Student

可以看出,兩個SQl語句分別,查出了三條記錄行。

 

然后我們改一下SQL:

這樣也是查詢出3條記錄,Union關鍵字,為我們去除重復的三條記錄了。

繼續看看,下面的:

可以看出Union ALL,查詢出來所有了記錄行了,沒有去除重復;

 

總結:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM