Rumah > pangkalan data > tutorial mysql > Bagaimanakah penyambungan diri berfungsi dalam MySQL untuk membandingkan baris dari jadual yang sama?

Bagaimanakah penyambungan diri berfungsi dalam MySQL untuk membandingkan baris dari jadual yang sama?

DDD
Lepaskan: 2024-11-19 00:22:02
asal
798 orang telah melayarinya

How do self-joins work in MySQL to compare rows from the same table?

Bagaimanakah MySQL Self-Join Berfungsi?

Sertai sendiri dalam MySQL melibatkan penggabungan dua contoh jadual yang sama, biasanya dengan alias berbeza. Ia membolehkan anda membandingkan baris jadual yang sama berdasarkan kriteria tertentu.

Pertanyaan Diterangkan

Mari kita pecahkan pertanyaan yang diberikan:

SELECT event2.id, event2.startdate, event2.price
FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
WHERE event1.id=$id
Salin selepas log masuk

ON Klausa

Ini bergabung dengan dua kejadian jadual berdasarkan syarat:

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 
Salin selepas log masuk

Ia mencari baris dalam acara2 di mana tarikh mula sepadan dengan hari selepas tarikh tamat baris yang sepadan dalam acara1.

WHERE Klausa

Ini menapis keputusan berdasarkan syarat yang dinyatakan:

ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
Salin selepas log masuk

Ia memilih baris daripada acara1 di mana id sepadan dengan pembolehubah yang diberikan, $id.

PILIH Klausa

Ini memilih medan yang dikehendaki daripada baris yang dicantumkan:

WHERE event1.id=$id
Salin selepas log masuk

Bayangkan anda mempunyai rekod berikut dalam jadual mm_eventlist_dates:

Dengan pertanyaan yang diberikan:

Ia mendapatkan semula acara1 dengan id bersamaan dengan $id (cth., 1).

SELECT event2.id, event2.startdate, event2.price
Salin selepas log masuk
Ia mengira tarikh tamat ditambah satu hari (2023-03-02).

Ia mencari acara2 untuk baris dengan tarikh mula yang sama (2023-03-02 ).

Ia mengembalikan ID, tarikh mula dan harga baris acara2 yang sepadan.

Ini menunjukkan cara penyertaan sendiri MySQL membolehkan anda mengenal pasti baris berkaitan berdasarkan yang ditentukan kriteria, walaupun dalam jadual yang sama.

Atas ialah kandungan terperinci Bagaimanakah penyambungan diri berfungsi dalam MySQL untuk membandingkan baris dari jadual yang sama?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan