Rumah pangkalan data tutorial mysql Bagaimana untuk Memilih Baris dengan Cekap daripada Jadual A yang Tiada dalam Jadual B?

Bagaimana untuk Memilih Baris dengan Cekap daripada Jadual A yang Tiada dalam Jadual B?

Oct 26, 2024 am 06:02 AM

 How to Efficiently Select Rows from Table A that are Not in Table B?

Memilih Baris daripada Jadual A dengan Cekap Dikecualikan daripada Jadual B

Apabila berurusan dengan dua jadual (A dan B) berkongsi kunci utama yang sama, tugas biasa adalah untuk mengekstrak semua baris yang terdapat dalam A tetapi tidak dalam B. Penyelesaian sedia ada, seperti menggunakan klausa "TIDAK WUJUD", mungkin menunjukkan isu prestasi.

Untuk meningkatkan kecekapan, adalah disyorkan untuk menggunakan pendekatan bergabung kiri. Sintaks untuk penyelesaian berasaskan gabungan kiri adalah seperti berikut:

SELECT *
FROM A
LEFT JOIN B ON A.x = B.y
WHERE B.y IS NULL;
Salin selepas log masuk

Pendekatan ini membandingkan setiap baris dalam jadual A dengan baris yang sepadan dalam jadual B dengan menggabungkannya berdasarkan medan biasa "x" (dengan andaian ia wujud). Baris daripada jadual A yang tidak mempunyai baris yang sepadan dalam jadual B akan dikembalikan kerana klausa "WHERE" menapis baris dengan "B.y" ialah NULL, yang menunjukkan padanan yang tiada.

Sebagai alternatif, sintaks berikut boleh digunakan untuk mencapai hasil yang sama:

SELECT A.*
FROM A
LEFT JOIN B ON A.x = B.y
WHERE B.y IS NULL;
Salin selepas log masuk

Sintaks ini secara eksplisit memilih lajur daripada jadual A, memastikan tiada data yang tidak perlu diambil.

Secara amnya, pendekatan gabungan kiri ialah cara yang lebih cekap untuk melaksanakan operasi "pilih di mana tiada dalam jadual" berbanding klausa "TIDAK WUJUD". Walaupun peningkatan prestasi khusus mungkin berbeza-beza bergantung pada saiz dan struktur data, cantuman kiri cenderung untuk mengatasi alternatif, terutamanya apabila bilangan baris dalam jadual B jauh lebih kecil daripada jadual A.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan Cekap daripada Jadual A yang Tiada dalam Jadual B?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kurangkan penggunaan memori MySQL di Docker Kurangkan penggunaan memori MySQL di Docker Mar 04, 2025 pm 03:52 PM

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table? Mar 19, 2025 pm 03:51 PM

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama Mar 04, 2025 pm 04:01 PM

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin) Mar 04, 2025 pm 03:54 PM

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Apa itu SQLite? Gambaran Keseluruhan Komprehensif Apa itu SQLite? Gambaran Keseluruhan Komprehensif Mar 04, 2025 pm 03:55 PM

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah Mar 04, 2025 pm 03:49 PM

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)? Mar 21, 2025 pm 06:28 PM

Apakah beberapa alat GUI MySQL yang popular (mis., MySQL Workbench, phpmyadmin)?

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL? Mar 18, 2025 pm 12:01 PM

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?

See all articles