Rumah > pangkalan data > tutorial mysql > Bagaimanakah Penyertaan Sendiri Dapat Membantu Mendapatkan Data Hierarki Dalam Satu Jadual?

Bagaimanakah Penyertaan Sendiri Dapat Membantu Mendapatkan Data Hierarki Dalam Satu Jadual?

Barbara Streisand
Lepaskan: 2025-01-14 12:01:49
asal
850 orang telah melayarinya

How Can Self-Joins Help Retrieve Hierarchical Data Within a Single Table?

Sertai Diri: Gambaran Keseluruhan Ringkas

Sertai sendiri dalam pengurusan pangkalan data ialah teknik pertanyaan di mana jadual dicantumkan dengan dirinya sendiri. Ini ialah kaedah normalisasi biasa, membenarkan akses kepada berbilang kejadian data jadual yang sama dalam satu pernyataan SQL.

Memahami Mekanisme Gabungan Diri

Bayangkan jadual "Pekerja" yang menyimpan butiran pekerja, termasuk ID pengurus. Penyertaan sendiri dengan cekap mendapatkan semula data yang mencerminkan hierarki pekerja.

Contoh Ilustrasi: Hubungan Pekerja-Pengurus

Anggap kita mempunyai jadual "Pekerja" dengan ID pekerja, nama dan ID pengurus. Untuk memaparkan nama setiap pekerja bersama nama pengurus mereka, penyertaan sendiri adalah sesuai:

<code class="language-sql">SELECT e1.Name AS EmployeeName, e2.Name AS ManagerName
FROM Employees e1
INNER JOIN Employees e2 ON e1.ManagerID = e2.EmployeeID;</code>
Salin selepas log masuk

Keputusan:

EmployeeName ManagerName
ABC XYZ
DEF ABC
XYZ NULL

Penyertaan diri ini membolehkan kami mengakses jadual "Pekerja" dua kali, dengan berkesan menghubungkan pekerja kepada pengurus masing-masing, mendedahkan struktur hierarki. Ambil perhatian bahawa pekerja tanpa pengurus akan menunjukkan NULL untuk ManagerName.

Atas ialah kandungan terperinci Bagaimanakah Penyertaan Sendiri Dapat Membantu Mendapatkan Data Hierarki Dalam Satu Jadual?. 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