Rumah > pangkalan data > tutorial mysql > Bagaimana Menapis Jadual Sebelum Sertai Kiri dalam SQL?

Bagaimana Menapis Jadual Sebelum Sertai Kiri dalam SQL?

Patricia Arquette
Lepaskan: 2025-01-14 13:11:47
asal
197 orang telah melayarinya

How to Filter a Table Before a Left Join in SQL?

Tapis jadual sebelum menyertai kiri

Dalam SQL, join tables ialah alat yang berkuasa untuk menggabungkan data daripada berbilang sumber data. Walau bagaimanapun, anda mungkin perlu menapis salah satu jadual sebelum melakukan operasi gabungan.

Andaikan anda mempunyai dua jadual: Pelanggan dan Kemasukan. Anda ingin mendapatkan semula semua rekod dalam jadual Pelanggan tidak kira sama ada mereka mempunyai entri yang sepadan dalam jadual Entri, tetapi hanya pelanggan dengan kategori "D" dalam jadual Entri.

Pertanyaan sertai kiri mudah kelihatan seperti ini:

<code class="language-sql">SELECT Customer.Customer, Customer.State, Entry.Entry
FROM Customer
LEFT JOIN Entry
ON Customer.Customer = Entry.Customer
WHERE Entry.Category = 'D'</code>
Salin selepas log masuk

Walau bagaimanapun, pertanyaan ini akan mengecualikan pelanggan dengan ID "C" kerana mereka tidak mempunyai sebarang entri dengan kategori "D". Untuk memastikan semua rekod pelanggan disertakan, anda boleh mengalihkan penapis ke dalam syarat gabungan:

<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>
Salin selepas log masuk

Dengan meletakkan penapis di dalam keadaan sambung, anda boleh menapis jadual kemasukan dengan berkesan sebelum melakukan sambungan. Ini membolehkan anda mendapatkan semula semua pelanggan tanpa mengira sama ada mereka mempunyai entri yang sepadan dalam jadual entri, sementara masih hanya memasukkan entri dengan kategori "D" dalam keputusan.

Penyelesaian ini menyediakan cara yang fleksibel untuk mengawal data yang disertakan dalam hasil gabungan, membolehkan anda melakukan operasi data yang lebih tepat dan dioptimumkan.

Atas ialah kandungan terperinci Bagaimana Menapis Jadual Sebelum Sertai Kiri dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan