SQL meninggalkan gabungan menggunakan klausa mana untuk menapis medan kosong
P粉511985082
P粉511985082 2023-08-13 19:06:52
0
1
535
<p>Saya mempunyai dua jadual, satu ialah jadual Pengguna dan satu lagi ialah jadual Token. Saya ingin menyertai kedua-dua jadual ini untuk melihat pengguna yang telah mengesahkan token mereka dan yang tidak. Terdapat kunci asing dalam jadual token yang mengandungi ID pengguna. </p> <p>Sekarang saya menggunakan gabungan kiri untuk menyertai ID pengguna dan cuba menyemak sama ada tiada pengesahan. Pernyataan pertanyaan adalah seperti berikut: </p> <pre class="brush:php;toolbar:false;">PILIH nama, disahkan DARIPADA pengguna LEFT JOIN token ON users.ID = token.UID WHERE disahkan = palsu</pre> <p>Andaikan saya mempunyai dua jadual berikut:</p> <pre class="brush:php;toolbar:false;">ID | 0 | 1 | 2 | 3 |. John</pre> <p>Kemudian, jadual token adalah seperti berikut: </p> <pre class="brush:php;toolbar:false;">ID | 0 |. 1 | 1 |. 2 | 2 |. 3 |. <p>Seperti yang anda lihat, Joe tidak mempunyai rekod dalam jadual kedua. Saya mahu menyertai kedua-dua jadual ini dan walaupun Joe tidak mempunyai rekod dalam jadual kedua, saya mahu ia dianggap palsu/null. Apabila saya menjalankan pertanyaan untuk mencari pengguna yang tidak disahkan, hanya 2 entri data dikembalikan. </p> <pre class="brush:php;toolbar:false;">Nama Disahkan Sally | Dave |. 0</pra> <p>Jika saya mengalih keluar klausa where, hasilnya adalah seperti berikut:</p> <pre class="brush:php;toolbar:false;">Nama Disahkan Sally | Dave | John | Joe |. NULL</pre> <p>Seperti yang anda lihat, Joe mempunyai nilai nol di bahagian bawah, tetapi saya mahu ia dianggap sebagai tidak sah. Bagaimanakah saya harus menulis pertanyaan untuk mendapatkan data berikut:</p> <pre class="brush:php;toolbar:false;">Nama Disahkan Sally | Dave | Joe |. NULL</pre> <p>Atau hanya pernyataan pertanyaan berikut, hasilnya ialah 3. Hasil pertanyaan semasa ialah 2. </p> <pre class="brush:php;toolbar:false;">SELECT count(*) DARIPADA pengguna LEFT JOIN token ON users.ID = tokens.UID WHERE disahkan = palsu</pre> <p><br /></p>
P粉511985082
P粉511985082

membalas semua(1)
P粉322106755
WHERE verified = false 或 verified is null
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan