Tabelle vor Linksverknüpfung filtern
Um eine Tabelle vor der Durchführung eines Left-Joins zu filtern, wenden Sie die Filterbedingung in der ON-Klausel der JOIN-Anweisung an. In diesem Beispiel besteht das Ziel darin, die Eintragstabelle nach der Spalte „Kategorie“ mit dem Wert „D“ zu filtern, bevor die Eintragstabelle mit der Kundentabelle verknüpft wird.
<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>
In dieser Abfrage filtert die ON-Klausel die Eintragstabelle nach der Kategoriespalte und stellt so sicher, dass nur Zeilen mit Kategorie = „D“ in den Join-Vorgang einbezogen werden. Dadurch können Sie alle Datensätze in der Kundentabelle abrufen, unabhängig davon, ob sie über zugehörige Datensätze in der Eintragstabelle verfügen, und gleichzeitig alle überflüssigen Einträge herausfiltern, die die angegebenen Kategoriekriterien nicht erfüllen.
Das Ergebnis dieser Abfrage ist:
<code>╔══════════╦═══════╦═══════╗ ║ Customer ║ State ║ Entry ║ ╠══════════╬═══════╬═══════╣ ║ A ║ S ║ 5575 ║ ║ A ║ S ║ 3215 ║ ║ B ║ V ║ 4445 ║ ║ C ║ L ║ NULL ║ ╚══════════╩═══════╩═══════╝</code>
Dies entspricht dem erwarteten Ergebnis, das alle Zeilen aus der Tabelle „Kunde“ sowie passende Einträge aus der Tabelle „Eintrag“ enthält, gefiltert nach Kategorie = „D“.
Das obige ist der detaillierte Inhalt vonWie filtere ich eine Tabelle vor einem Left Join mithilfe der ON-Klausel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!