在左連接前過濾表
要在執行左連接之前過濾表,請在 JOIN 語句的 ON 子句中套用篩選條件。在本例中,目標是在將 Entry 表連接到 Customer 表之前,按 Category 欄位過濾 Entry 表,其值為 'D'。
<code class="language-sql">SELECT c.Customer, c.State, e.Entry FROM Customer c LEFT JOIN Entry e ON c.Customer = e.Customer AND e.Category = 'D'</code>
在此查詢中,ON 子句按 Category 列過濾 Entry 表,確保只有 Category = 'D' 的行包含在連接操作中。這允許您檢索 Customer 表中的所有記錄,而不管它們是否在 Entry 表中具有相關記錄,同時過濾掉任何不符合指定 Category 條件的無關條目。
此查詢的結果將是:
<code>╔══════════╦═══════╦═══════╗ ║ Customer ║ State ║ Entry ║ ╠══════════╬═══════╬═══════╣ ║ A ║ S ║ 5575 ║ ║ A ║ S ║ 3215 ║ ║ B ║ V ║ 4445 ║ ║ C ║ L ║ NULL ║ ╚══════════╩═══════╩═══════╝</code>
這與預期結果相符,其中包含 Customer 表中的所有行,以及按 Category = 'D' 過濾的 Entry 表中的匹配條目。
以上是如何在左連接前使用 ON 子句過濾表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!