建立資料庫查詢時,了解 JOIN 和 LEFT JOIN 之間的根本差異至關重要。
在提供的查詢中,您在用 LEFT JOIN 替換 INNER JOIN 時遇到了問題。這就提出了一個問題:是否假設沒有指定類型的 JOIN 預設為 LEFT JOIN?
不,事實並非如此。
預設情況下,MySQL執行 INNER JOIN,其中僅包含兩個表中符合的行。相反,LEFT JOIN 保留左表(在您的情況下為 DM_Server.Jobs)中的所有行,即使它們在右表中沒有相應的匹配項。
舉例說明對於這種差異,讓我們考慮以下幾點:
有關更全面的視覺解釋:
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中文網其他相關文章!