Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyertai Sendiri Jadual dalam MySQL untuk Mendapatkan Data daripada Berbilang Baris?

Bagaimana untuk Menyertai Sendiri Jadual dalam MySQL untuk Mendapatkan Data daripada Berbilang Baris?

Mary-Kate Olsen
Lepaskan: 2025-01-03 07:05:39
asal
501 orang telah melayarinya

How to Self-Join a Table in MySQL to Retrieve Data from Multiple Rows?

Cara Menyertai Jadual Yang Sama Berbilang Kali dalam MySQL

Dalam senario di mana anda perlu mengaitkan rekod dari jadual yang sama beberapa kali dalam satu pertanyaan, MySQL menawarkan keupayaan untuk menyertai jadual dengan dirinya sendiri. Ini membolehkan anda mendapatkan semula data daripada baris berlainan jadual yang sama, dengan berkesan mewujudkan hubungan baharu antara baris.

Untuk menggambarkan konsep ini, pertimbangkan senario berikut:

Anda mempunyai dua jadual: "domain" dan "ulasan". Jadual "domain" menyimpan ID domain dan nama domain, manakala jadual "ulasan" mengandungi data semakan dan nama domain rujukan untuk kedua-dua pengirim (rev_dom_from) dan penerima (rev_dom_for).

Tugas anda adalah untuk memaparkan kedua-duanya nama domain pada halaman web. Walaupun anda boleh memaparkan satu nama domain dengan mudah menggunakan LEFT JOIN standard, persoalan timbul: bagaimana anda mendapatkan semula nama domain kedua daripada lajur "rev_dom_from"?

Penyelesaian terletak pada penggunaan berbilang gabungan. Dengan menyertai jadual "domain" beberapa kali, anda boleh mewujudkan perhubungan yang berbeza antara ulasan dan nama domain yang sepadan:

SELECT toD.dom_url AS ToURL, 
    fromD.dom_url AS FromUrl, 
    rvw.*

FROM reviews AS rvw

LEFT JOIN domain AS toD 
    ON toD.Dom_ID = rvw.rev_dom_for

LEFT JOIN domain AS fromD 
    ON fromD.Dom_ID = rvw.rev_dom_from
Salin selepas log masuk

Dalam pertanyaan ini:

  • toD ialah alias untuk contoh pertama jadual "domain" yang digabungkan, mewakili nama domain "Kepada".
  • fromD ialah alias untuk tika kedua daripada jadual "domain" yang digabungkan, mewakili nama domain "Daripada".

Dengan menyamakan jadual yang digabungkan, anda boleh membezakan antara kedua-dua kejadian dan mendapatkan semula data yang diingini. Teknik menyertai jadual yang sama berbilang kali ini biasanya dirujuk sebagai "menyertai diri" dan boleh digunakan dalam pelbagai senario di mana anda perlu mewujudkan berbilang perhubungan dalam satu jadual.

Atas ialah kandungan terperinci Bagaimana untuk Menyertai Sendiri Jadual dalam MySQL untuk Mendapatkan Data daripada Berbilang Baris?. 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