Tapis jadual sebelum menyertai kiri
Untuk menapis jadual sebelum melakukan sambung kiri, gunakan syarat penapis dalam klausa ON kenyataan JOIN. Dalam contoh ini, matlamatnya ialah untuk menapis jadual Kemasukan mengikut lajur Kategori dengan nilai 'D' sebelum menyertai jadual Kemasukan ke jadual Pelanggan.
<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>
Dalam pertanyaan ini, klausa HIDUP menapis jadual Kemasukan mengikut lajur Kategori, memastikan bahawa hanya baris dengan Kategori = 'D' disertakan dalam operasi gabungan. Ini membolehkan anda mendapatkan semula semua rekod dalam jadual Pelanggan tanpa mengira sama ada rekod tersebut mempunyai rekod berkaitan dalam jadual Kemasukan, sambil menapis sebarang entri luar yang tidak memenuhi kriteria Kategori yang ditentukan.
Hasil pertanyaan ini ialah:
<code>╔══════════╦═══════╦═══════╗ ║ Customer ║ State ║ Entry ║ ╠══════════╬═══════╬═══════╣ ║ A ║ S ║ 5575 ║ ║ A ║ S ║ 3215 ║ ║ B ║ V ║ 4445 ║ ║ C ║ L ║ NULL ║ ╚══════════╩═══════╩═══════╝</code>
Ini sepadan dengan hasil yang dijangkakan, yang mengandungi semua baris daripada jadual Pelanggan, serta entri yang sepadan daripada jadual Kemasukan yang ditapis mengikut Kategori = 'D'.
Atas ialah kandungan terperinci Bagaimana Menapis Jadual Sebelum Gabungan Kiri Menggunakan Klausa ON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!