亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JOIN和UNION有什么區別?

JOIN和UNION有什么區別?

慕哥9229398 2019-08-29 16:39:58
JOIN和UNION有什么區別?JOIN和之間有什么區別UNION?我能舉個例子嗎?
查看完整描述

3 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

UNION將查詢中的行放在彼此之后,同時JOIN生成笛卡爾積和子集 - 完全不同的操作?,嵥榈睦覷NION:


mysql> SELECT 23 AS bah

    -> UNION

    -> SELECT 45 AS bah;

+-----+

| bah |

+-----+

|  23 | 

|  45 | 

+-----+

2 rows in set (0.00 sec)

類似的簡單例子JOIN:


mysql> SELECT * FROM 

    -> (SELECT 23 AS bah) AS foo 

    -> JOIN 

    -> (SELECT 45 AS bah) AS bar

    -> ON (33=33);

+-----+-----+

| foo | bar |

+-----+-----+

|  23 |  45 | 

+-----+-----+

1 row in set (0.01 sec)


查看完整回答
反對 回復 2019-08-29
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

UNION將兩個或多個查詢的結果合并到一個結果集中,該結果集包括屬于聯合中所有查詢的所有行。


通過使用JOIN,您可以根據表之間的邏輯關系從兩個或多個表中檢索數據。聯接指示SQL應如何使用來自一個表的數據來選擇另一個表中的行。


UNION操作與使用組合來自兩個表的列的JOIN不同。


UNION示例:


SELECT 1 AS [Column1], 2 AS [Column2]

UNION

SELECT 3 AS [Column1], 4 AS [Column2]

輸出:


Column1    Column2

-------------------

1          2

3          4

加入示例:


SELECT a.Column1, b.Column2 FROM TableA a INNER JOIN TableB b ON a.Id = b.AFKId

這將輸出條件a.Id = b.AFKId為true的兩個表中的所有行。


查看完整回答
反對 回復 2019-08-29
?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

聯接和聯合可用于組合來自一個或多個表的數據。不同之處在于數據的組合方式。

簡單來說,連接將數據組合到新列中。如果將兩個表連接在一起,則第一個表中的數據將顯示在同一行中第二個表的列旁邊的一組列中。

聯合將數據組合成新行。 如果兩個表一起“聯合”,則第一個表中的數據位于一組行中,而第二個表中的數據位于另一個表中。行的結果相同。

這是一個連接的視覺描述。表A和B的列組合成一個結果。

結果中的每一行都包含BOTH表A和B中的列。當一個表中的列與另一個表中的列匹配時,將創建行。此匹配稱為連接條件。

這使得聯接非常適合查找值并將其包含在結果中。這通常是非規范化(反轉規范化)的結果,并涉及在一個表中使用外鍵來通過在另一個表中使用主鍵來查找列值。

現在將上述描述與聯盟的描述進行比較。在聯合中,結果中的每一行都來自一個表或另一個表。在聯合中,不會組合列來創建結果,而是組合行。

連接和聯合都可用于將來自一個或多個表的數據組合成單個結果。他們兩個都是不同的方式。雖然聯接用于組合來自不同表的列,但聯合用于組合行。

資源


查看完整回答
反對 回復 2019-08-29
  • 3 回答
  • 0 關注
  • 1254 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號