首頁 >資料庫 >mysql教程 >為什麼我的左連線不傳回左表中的所有行?

為什麼我的左連線不傳回左表中的所有行?

Patricia Arquette
Patricia Arquette原創
2024-12-28 15:01:141023瀏覽

Why Doesn't My Left Join Return All Rows From the Left Table?

左聯接未回傳所有行:解決問題

如上一個執行緒所述,左聯接中不存在所有行查詢可能來源於放置不當的WHERE 子句。在本例中,查詢旨在從「jos_hp_properties」表中提取數據,並根據欄位列等於 23 選擇性地從「jos_hp_properties2」表中選擇名為「room_price_high」的值。

要解決此問題發出並確保從第一個表返回所有行,WHERE 條件應在 LEFT OUTER JOIN 之後從其原始位置重新定位JOIN 子句本身內的語句。修改後的查詢應類似於以下內容:

透過在JOIN 中合併WHERE 條件,查詢變得更加明確,並指示資料庫僅從第二個表中檢索欄位列等於23 的行這可確保傳回第一個表中的所有行,無論第二個表中是否存在符合值。因此,根據 field=23 條件,第一個表中的行將傳回第二個表中沒有匹配行的相應 NULL 值。

以上是為什麼我的左連線不傳回左表中的所有行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn