MySQL Kendi Kendine Katılma Ne Zaman Kullanılır ve Örnekler

When Use Mysql Self Join



MySQL Self-Join, bir tabloya kendi başına katılmanıza izin veren bir SQL Join türüdür. Belirtilen koşullara göre satırları birleştirmek için iç veya sol birleştirme yan tümcesi gibi diğer birleştirme türlerini kullanarak çalışır.

Bu öğretici, bir tabloyu kendisiyle birleştirmek ve özelleştirilmiş veriler oluşturmak için MySQL kendi kendine birleştirmeyi nasıl kullanacağınızı gösterecektir.







Temel Kullanım

MySQL self-join, aynı tabloyu bir ifadede birden fazla kez tekrarlamamanızı sağlamak için tablo takma adlarını kullanır.



NOT: Tablo takma adlarına aşina değilseniz, kavramı tam olarak açıklayan diğer öğreticimizi düşünün.



Kendi kendine birleştirme kullanmanın genel sözdizimi, iki tabloyu birleştirirkenkine benzer. Ancak, tablo takma adları kullanıyoruz. Aşağıda gösterilen sorguyu göz önünde bulundurun:





SEÇME alias1.cols,alias2.cols İTİBAREN tbl1 takma ad1,tbl2 takma ad2 NEREDE [şart]

Örnek Kullanım Durumları

MySQL kendi kendine birleştirmelerin nasıl gerçekleştirileceğini anlamak için örnekler kullanalım. Aşağıdaki bilgileri içeren bir veritabanınız olduğunu varsayalım (Aşağıdaki tam sorguya bakın)

DÜŞÜRMEK ŞEMA EĞER VAR öz;
OLUŞTURMAK ŞEMA öz;
KULLANMAK öz;
OLUŞTURMAK TABLO kullanıcılar(
İD INT BİRİNCİL ANAHTAR OTOMATİK ARTIŞ ,
ilk adı VARCHAR (255),
e-posta VARCHAR (255),
ödeme_kimliği INT ,
abonelik INT
);
SOKMAK İÇİNE kullanıcılar(ilk adı,e-posta,ödeme_kimliği,abonelik) DEĞERLER ('Valerie G. Phillip', ' [e-posta korumalı]', 10001, 1), ('Sean R. Hikayeleri', ' [e-posta korumalı]', 10005, 2), ('Bobby S. Newsome', ' [e-posta korumalı]', 100010, 5);

Bir INNER birleştirme ile başlayacağız ve son olarak bir sol birleştirme ile başlayacağız.



Inner Join kullanarak Kendi Kendine Katılma

Aşağıdaki sorgu, yukarıda oluşturulan tabloda bir INNER birleştirme gerçekleştirir.

SEÇME tüm1.* İTİBAREN kullanıcılar İÇ KATILMAK kullanıcılar al2 ÜZERİNDE al1.abonelik=al2.abonelik TARAFINDAN SİPARİŞ İD TANIM ;

Çıktı aşağıda gösterilmiştir:

Sol Birleştirmeyi Kullanarak Kendi Kendine Katılma

Aşağıdaki örnek sorgu, sol birleştirme ile kendi kendine birleştirmeyi nasıl kullanabileceğimizi açıklar.

SEÇME ( İLETİŞİM (al1.first_name, '->',al2.email)) OLARAK detaylar,al1.payment_id İTİBAREN kullanıcılar SOL KATILMAK kullanıcılar al2 ÜZERİNDE al1.id=al2.id;

Çıktı sonucu aşağıdadır:

Çözüm

Bu kılavuz, kendi kendine bir masaya katılmak için MySQL'in kendi kendine katılımını nasıl kullanabileceğiniz konusunda size yol gösterdi.

Okuduğunuz için teşekkürler.