Rumah > pangkalan data > tutorial mysql > Bagaimanakah Penyertaan Sendiri dalam SQL Membolehkan Anda Menyoal Jadual Tunggal sebagai Jadual Berbilang?

Bagaimanakah Penyertaan Sendiri dalam SQL Membolehkan Anda Menyoal Jadual Tunggal sebagai Jadual Berbilang?

Linda Hamilton
Lepaskan: 2025-01-14 12:31:43
asal
587 orang telah melayarinya

How Do Self-Joins in SQL Allow You to Query a Single Table as Multiple Tables?

Pemahaman mendalam tentang SQL self-join

SQL self-join ialah konsep asas dalam pertanyaan pangkalan data, yang membolehkan anda membuat pertanyaan pada jadual yang sama beberapa kali sama seperti mengendalikan dua jadual bebas.

Definisi sambungan diri

Sendiri menyertai kerja dengan mencipta alias untuk jadual yang sama, membolehkan anda menganggapnya sebagai dua jadual berbeza. Gabungan sendiri mensimulasikan kehadiran berbilang jadual tanpa membuat salinan fizikal yang berasingan.

Contoh sambungan diri

Pertimbangkan jadual pekerja berikut:

<code>表 emp1
Id  姓名  主管Id
1   ABC   3
2   DEF   1
3   XYZ   2</code>
Salin selepas log masuk

Untuk mendapatkan semula nama setiap pekerja dan nama penyelia mereka, lakukan pertanyaan penyertaan sendiri berikut:

<code>select c1.姓名, c2.姓名 As 主管
from emp1 c1
join emp1 c2 on c1.主管Id = c2.Id</code>
Salin selepas log masuk

Hasil keluaran:

<code>姓名  主管
ABC   XYZ
DEF   ABC
XYZ   DEF</code>
Salin selepas log masuk

Dalam pertanyaan ini, kami menetapkan alias c1 kepada tika utama jadual emp1 dan alias c2 kepada alias yang mewakili tika "kedua". Syarat sertai sepadan dengan supervisorId c1 dengan Id c2. Ini membolehkan kami mendapatkan semula nama setiap pekerja daripada c1 dan nama penyelia mereka daripada c2.

Atas ialah kandungan terperinci Bagaimanakah Penyertaan Sendiri dalam SQL Membolehkan Anda Menyoal Jadual Tunggal sebagai Jadual Berbilang?. 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