首頁 > 資料庫 > mysql教程 > JOIN 與 UNION:這些資料庫操作有何不同?

JOIN 與 UNION:這些資料庫操作有何不同?

Susan Sarandon
發布: 2025-01-15 09:06:43
原創
281 人瀏覽過

JOIN vs. UNION: How Do These Database Operations Differ?

深入理解資料庫操作:JOIN與UNION的差異

資料庫查詢中,JOIN和UNION是兩種基本的表連接操作。雖然兩者都涉及到組合多個表中的行,但它們的方法和結果卻大不相同。

JOIN和UNION的差別

JOIN:

  • 執行指定表所有行的笛卡爾積(交叉連接)。
  • 基於指定的條件(連接條件)過濾結果資料集。
  • 透過組合比對或相關行中的列來建立新行。

UNION:

  • 連接指定表中的行,保留重複項。
  • 不建立新行或操作資料。
  • 輸出包含每個表中的所有行,垂直排列。

範例:

以下範例說明了JOIN和UNION的差異:

<code>表 A:
+----+
| id | name |
+----+
| 1  | John |
| 2  | Mary |
+----+

表 B:
+----+
| id | city |
+----+
| 1  | London |
| 2  | Paris |
+----+</code>
登入後複製

JOIN:

<code>SELECT *
FROM 表A
JOIN 表B ON 表A.id = 表B.id;</code>
登入後複製

結果:

<code>+----+------+----+--------+
| id | name | id | city    |
+----+------+----+--------+
| 1  | John | 1  | London  |
| 2  | Mary | 2  | Paris   |
+----+------+----+--------+</code>
登入後複製

UNION:

<code>SELECT *
FROM 表A
UNION
SELECT *
FROM 表B;</code>
登入後複製

結果:

<code>+----+------+
| id | name |
+----+------+
| 1  | John |
| 2  | Mary |
| 1  | London |
| 2  | Paris |
+----+------+</code>
登入後複製

很明顯,JOIN產生一個更小、更精細的資料集,只包含匹配的行,而UNION組合所有行,包括重複項。

以上是JOIN 與 UNION:這些資料庫操作有何不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板