Rumah > pangkalan data > tutorial mysql > Bagaimana Saya Boleh Menggunakan LEFT JOIN untuk Cari Rekod dalam Satu Jadual yang Tidak Wujud dalam Jadual Lain?

Bagaimana Saya Boleh Menggunakan LEFT JOIN untuk Cari Rekod dalam Satu Jadual yang Tidak Wujud dalam Jadual Lain?

Susan Sarandon
Lepaskan: 2025-01-19 16:41:08
asal
419 orang telah melayarinya

How Can I Use a LEFT JOIN to Find Records in One Table That Don't Exist in Another?

Gunakan LEFT JOIN untuk memilih rekod dalam satu jadual yang tidak wujud dalam jadual lain

Apabila bekerja dengan berbilang jadual dalam pangkalan data, menentukan rekod dalam satu jadual yang tidak wujud dalam jadual lain adalah tugas biasa. Artikel ini akan meneroka cara menggunakan pertanyaan SQL untuk menyelesaikan tugas ini.

Andaikan terdapat dua jadual, jadual1 dan jadual2, kedua-duanya mengandungi lajur bernama id dan nama. Matlamatnya adalah untuk memilih semua nama daripada jadual2 yang tidak muncul dalam jadual1.

Kaedah tradisional

Pertanyaan yang diberikan pada mulanya cuba memilih nama yang tiada dalam jadual1 terus daripada jadual2:

<code class="language-sql">SELECT name   
FROM table2  
-- that are not in table1 already</code>
Salin selepas log masuk

Walau bagaimanapun, pertanyaan ini bergantung pada fungsi pangkalan data tertentu yang mungkin tidak tersedia secara universal.

LEFT JOIN penyelesaian

Sebaliknya, kita boleh menggunakan LEFT JOIN untuk melakukan ini dengan cekap:

<code class="language-sql">SELECT t1.name
FROM table1 t1
LEFT JOIN table2 t2 ON t2.name = t1.name
WHERE t2.name IS NULL</code>
Salin selepas log masuk

Penjelasan

Dalam pertanyaan ini, kami bergabung dengan jadual1 (disebut sebagai t1) dan jadual2 (disebut sebagai t2) dengan membandingkan lajur nama mereka. LEFT JOIN menyimpan semua baris dalam jadual1 dan mengembalikan baris yang sepadan dalam jadual2. Untuk baris dalam jadual1 yang tidak mempunyai baris yang sepadan dalam jadual2, baris yang sepadan dalam jadual2 akan menjadi NULL.

Akhir sekali, kami menggunakan klausa WHERE untuk memilih hanya baris dalam hasil yang mempunyai baris padanan NULL dalam jadual2. Ini memastikan bahawa kami hanya memilih nama dalam jadual2 yang tidak terdapat dalam jadual1.

Kelebihan kaedah LEFT JOIN

Kaedah LEFT JOIN mempunyai kelebihan berikut:

  • Kepelbagaian: Ia boleh digunakan dalam pelbagai enjin pangkalan data.
  • Kecekapan: Dalam kebanyakan kes, ia menjana pelan pelaksanaan yang cekap.
  • Jelas dan mudah dibaca: Logik pertanyaan mudah difahami.

Atas ialah kandungan terperinci Bagaimana Saya Boleh Menggunakan LEFT JOIN untuk Cari Rekod dalam Satu Jadual yang Tidak Wujud dalam Jadual Lain?. 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