Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyertai Dua Jadual dengan Berkesan dalam MySQL Menggunakan LEFT JOIN?

Bagaimana untuk Menyertai Dua Jadual dengan Berkesan dalam MySQL Menggunakan LEFT JOIN?

Barbara Streisand
Barbara Streisandasal
2025-01-20 01:36:09527semak imbas

How to Effectively Join Two Tables in MySQL Using LEFT JOIN?

Pangkalan data MySQL dengan cekap menyertai dua jadual: penjelasan terperinci LEFT JOIN

Dalam pengurusan pangkalan data, gabungan jadual ialah teknologi utama untuk menyepadukan data daripada pelbagai sumber. Ia membolehkan anda mendapatkan semula maklumat yang berkaitan daripada jadual yang berbeza, mewujudkan paparan komprehensif data anda. Artikel ini akan membimbing anda melalui proses menyertai dua jadual dalam MySQL, membantu anda memanfaatkan sepenuhnya penyepaduan data.

Huraian Masalah

Andaikan anda mempunyai dua jadual:

    Jadual
  • perkhidmatan (lajur: id, pelanggan, perkhidmatan)
  • pelanggan jadual (lajur: id, nama, e-mel)

Matlamat anda adalah untuk menyenaraikan kandungan jadual perkhidmatan dan memasukkan nama pelanggan daripada jadual pelanggan. Medan "klien" dalam jadual perkhidmatan merujuk medan "id" dalam jadual pelanggan.

Penyelesaian

Untuk menyertai dua jadual dalam MySQL, anda boleh menggunakan sintaks LEFT JOIN. Jenis gabungan ini membolehkan anda mendapatkan semula semua baris dari jadual kiri (perkhidmatan) dan mana-mana baris yang sepadan dari jadual kanan (pelanggan). Pertanyaan berikut akan mencapai ini:

<code class="language-sql">SELECT * FROM services LEFT JOIN clients ON services.client = clients.id;</code>

Penjelasan

    Klausa
  • SELECT * mendapatkan semula semua lajur dalam kedua-dua jadual.
  • Klausa
  • LEFT JOIN bergabung dengan jadual perkhidmatan (jadual kiri) ke jadual pelanggan (jadual kanan) berdasarkan medan klien biasa.
  • Klausa
  • ON menentukan syarat cantum, iaitu services.client = clients.id. Ini bermakna baris dalam jadual perkhidmatan akan sepadan dengan baris dalam jadual pelanggan yang sepadan dengan ID pelanggan.
  • Baris dalam jadual perkhidmatan yang tiada baris sepadan ditemui dalam jadual pelanggan masih disertakan dalam set hasil. Walau bagaimanapun, untuk baris ini, lajur dalam jadual pelanggan akan menjadi NULL.

Contoh output

Hasil pertanyaan akan menjadi satu jadual yang mengandungi semua lajur daripada jadual perkhidmatan dan pelanggan. Contohnya:

id client service name email
1 10 Web design John Smith john@example.com
2 12 Marketing Mary Jones mary@example.com
3 15 SEO NULL NULL

Dalam contoh ini, baris dengan id 3 dalam jadual perkhidmatan tidak mempunyai baris yang sepadan dalam jadual pelanggan, jadi nama dan lajur e-mel adalah NULL.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Dua Jadual dengan Berkesan dalam MySQL Menggunakan LEFT JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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