SQL語句聯(lián)合查詢

聯(lián)合查詢是指將多個不同的查詢結(jié)果連接在一起組成一組數(shù)據(jù)的查詢方式。聯(lián)合查詢使用UNION關(guān)鍵字連接各個SELECT子句。說的簡單點,就是將兩個表當(dāng)中的行合并成一個表當(dāng)中去顯示。

合并查詢的特點:

1、合并的表中的列的個數(shù)、數(shù)據(jù)類型必須相同或相兼容可以轉(zhuǎn)換

2、UNION默認(rèn)去掉重復(fù)值,如果允許有重復(fù)值需要使用UNION ALL

3、執(zhí)行順序從左向右(可通過列的順序或空格改變結(jié)果集的排列順序)

例如:SELECT UserId,UserName?FROM?UserInfo

? ? ? ? ? ? UNION

? ? ? ? ? SELECT UserId,PayWay FROM OrderInfo ?/// ?SELECT ?' ?',PayWayFROMOrderInfo

4、可以與SELECT INTO 一起使用把合并的結(jié)果插入到新表中顯示,那么INTO 必須放在第一個SELECT 語句中

例如:SELECT ?UserId,UserName INTO newTables? FROM UserInfo

? ? ? ? ? ? UNION

? ? ? ? ? ?SELECT ?PayWay, UserId? FROM? OrderInfo

5、可以對合并的結(jié)果進(jìn)行排序,但排序的ORDER BY 必須放在最后一個SELECT后面,所使用的列名

? ? ? 也必須是第一個SELECT語句。


合并查詢與連接查詢的區(qū)別:

合并查詢:結(jié)果集中的列由第一個表中的列決定,行的最大數(shù)量是兩個表行的“和” ? ?UNION

連接查詢:結(jié)果集中的列分別來自 不同的表,行的最大數(shù)量是它們的“乘積” ? ? ? ? ? ? ?INNER JOIN ON

注意:連接查詢時,如果沒有WHERE,將產(chǎn)生笛卡爾現(xiàn)象,即兩表中數(shù)據(jù)相乘。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容