COMPUTER ENGINEER

Örneklere git
Blog
SQL Server / T-SQL6 dk çalışma
21/ 65

İlişkiler ve JOIN

SELF JOIN ve CROSS JOIN

Aynı tabloyu iki rolde kullan veya kombinasyon üret.

AnlaÖrneği inceleKendin uygula

Kavramı anlayalım

SELF JOIN ayrı bir SQL anahtar kelimesi değildir; aynı tabloyu farklı takma adlarla ilişkilendirme desenidir. Employee tablosunu çalışan ve yönetici rolünde iki kez kullanabiliriz. Yöneticisi olmayan en üst çalışanı korumak için LEFT JOIN gerekir.

CROSS JOIN her sol satırı her sağ satırla eşleştirir. Altı müşteri ile yedi ürün 42 kombinasyon üretir. Bu, tarih–ürün matrisi gibi senaryolarda yararlıdır; yanlışlıkla kullanılırsa satır sayısını katlar. Bir ilişki bekliyorsan eksik ON koşulunu CROSS JOIN ile telafi etme.

NERESİNDE KULLANIRSIN?

Hiyerarşi, karşılaştırma ve kontrollü kombinasyon listeleri için.

SIK YAPILAN HATA

Kartezyen büyümeyi önceden hesaplamamak.

01 / UYGULAMA

Aynı konu. Üç farklı derinlik.

T-SQL / SQL Server 2019+
SELECT e.FullName AS Employee, m.FullName AS Manager FROM lab.Employee AS e
LEFT JOIN lab.Employee AS m ON m.EmployeeId = e.ManagerId;

Rasim’in yöneticisi NULL; Ada ve Can ona bağlıdır.

Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.

02 / SIRA SENDE

Önce kendin dene.

Doğrudan Ada’ya bağlı çalışanları listele.

Çözümü ve açıklamasını göster
Açıklamalı çözüm
SELECT e.FullName FROM lab.Employee AS e JOIN lab.Employee AS m ON m.EmployeeId = e.ManagerId WHERE m.FullName = N'Ada';

Deniz ve Ece bulunur.