Rumah > pangkalan data > tutorial mysql > Bagaimana untuk mencari dan mengalih keluar baris dalam Jadual1 Tanpa Memadankan Entri dalam Jadual2?

Bagaimana untuk mencari dan mengalih keluar baris dalam Jadual1 Tanpa Memadankan Entri dalam Jadual2?

DDD
Lepaskan: 2025-01-15 17:26:44
asal
507 orang telah melayarinya

How to Find and Remove Rows in Table1 Without Matching Entries in Table2?

Dapatkan baris daripada pangkalan data yang tidak mempunyai padanan dalam jadual lain: penjelasan terperinci

Dalam dunia pengurusan pangkalan data, tidak jarang integriti data terjejas kerana tiada kekangan kunci asing. Untuk membetulkan masalah sedemikian, baris yang tidak mempunyai padanan dalam jadual yang dirujuk perlu dikenal pasti dan dipadamkan. Artikel ini akan menyelami cara menulis pertanyaan yang menyelesaikan tugasan ini, memberikan contoh kefungsian dan penjelasan terperinci tentang mekanik asasnya.

Andaikan kita mempunyai dua jadual Jadual1 dan Jadual2, di mana Jadual1 mengandungi nilai yang digunakan sebagai rujukan kunci asing kepada Jadual2 (tetapi tanpa kekangan kunci asing). Matlamat kami adalah untuk membina pertanyaan yang mengembalikan semua baris dalam Jadual1 yang tidak mempunyai padanan dalam Jadual2 supaya mereka kemudiannya boleh dipadamkan.

Pembinaan dan tafsiran pertanyaan

Pertanyaan berikut memenuhi keperluan kami:

<code class="language-sql">SELECT t1.ID
FROM Table1 t1
LEFT JOIN Table2 t2 ON t1.ID = t2.ID
WHERE t2.ID IS NULL;</code>
Salin selepas log masuk

Penguraian pertanyaan:

  • SERTAI KIRI: Jenis cantuman ini mengembalikan semua baris dalam Jadual1 (t1) dan mana-mana baris yang sepadan dalam Jadual2 (t2) (berdasarkan lajur ID). Dalam kes ini, semua baris dalam Jadual1 dikembalikan tanpa mengira sama ada baris tersebut mempunyai padanan dalam Jadual2.
  • ON t1.ID = t2.ID: Syarat ini menentukan syarat cantum, iaitu sepadan dengan lajur ID kedua-dua jadual.
  • WHERE t2.ID IS NULL: Syarat ini menapis keputusan dengan menyemak sama ada ID yang dikembalikan oleh Table2 (t2.ID) ialah NULL. Jika ya, ini bermakna tiada baris dalam Jadual2 yang sepadan dengan ID yang sepadan dalam Jadual1. Dengan mengehadkan keputusan kepada baris di mana t2.ID ialah NULL, kami secara berkesan mendapatkan semula semua baris dalam Jadual1 yang tidak mempunyai padanan dalam Jadual2.

Dengan pertanyaan ini, kami boleh dengan mudah mengenal pasti dan memadamkan baris dalam Jadual1 yang tidak mempunyai entri sepadan dalam Jadual2, sekali gus mengekalkan integriti data pangkalan data.

Atas ialah kandungan terperinci Bagaimana untuk mencari dan mengalih keluar baris dalam Jadual1 Tanpa Memadankan Entri dalam Jadual2?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan