首頁 > 資料庫 > mysql教程 > MySQL的JOIN預設為LEFT JOIN嗎?

MySQL的JOIN預設為LEFT JOIN嗎?

Patricia Arquette
發布: 2024-11-12 12:56:01
原創
945 人瀏覽過

Does MySQL's JOIN Default to LEFT JOIN?

理解 MySQL JOIN 和 LEFT JOIN 之間的差異

建立資料庫查詢時,了解 JOIN 和 LEFT JOIN 之間的根本差異至關重要。

在提供的查詢中,您在用 LEFT JOIN 替換 INNER JOIN 時遇到了問題。這就提出了一個問題:是否假設沒有指定類型的 JOIN 預設為 LEFT JOIN?

不,事實並非如此。

預設情況下,MySQL執行 INNER JOIN,其中僅包含兩個表中符合的行。相反,LEFT JOIN 保留左表(在您的情況下為 DM_Server.Jobs)中的所有行,即使它們在右表中沒有相應的匹配項。

舉例說明對於這種差異,讓我們考慮以下幾點:

  • INNER JOIN: 傳回作業和伺服器的 ServerID 值相符的行。
  • LEFT JOIN : 傳回作業中的所有行,包括那些在伺服器中可能沒有對應項目的行。

有關更全面的視覺解釋:

INNER JOIN:

Jobs          Servers

| Jobs_ID | ServerID |
|---------|----------|
| 1        | 2        |
| 2        | 3        |

**Result:**
| Jobs_ID | ServerID | Description |
|---------|----------|------------|
| 1        | 2        | Description |
| 2        | 3        | Description |
登入後複製

LEFTFTFT> JOIN:

Jobs          Servers

| Jobs_ID | ServerID |
|---------|----------|
| 1        | 2        |
| 2        | 3        |
| 3        | NULL     |

**Result:**
| Jobs_ID | ServerID | Description |
|---------|----------|------------|
| 1        | 2        | Description |
| 2        | 3        | Description |
| 3        | NULL     | NULL        |
登入後複製

透過瞭解這種區別,您可以確保您的查詢根據您想要的聯接類型檢索所需的行.

以上是MySQL的JOIN預設為LEFT JOIN嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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