SQL Inner Join Komutu – Tabloları Birleştirme , dersimiz ile sql eğitim setime devam ediyorum. SQL Inner Join, Left Joinden farklı olarak Her iki tabloda da olan verileri yani kesişimlerini verir. Bu komut için bir kolay yolumuz vardır. Bu dersi de yine farklı sitelerden yardım alarak sizlere açıklamaya çalışacağım. Gelin SQL Inner Join Komutu – Tabloları Birleştirme dersimize geçelim
SQL Inner Join Komutu – Tabloları Birleştirme
SQL Inner Join oluşturmanın en kolay yolu Views kısmını kullanmaktır. Burada bize bir tasarım ekranı sunar ve istediğimiz tabloları seçtikten sonra tablolar arası bağlantıyı yaparız. Şimdi o ekranın bir görüntüsünü vereyim.
Views üzerinde sağ tık yaparak New View diyoruz ve karşımıza tablolarımızın bir listesi geliyor. Hangi tablolar arasında inner join yapacaksak o tabloları seçiyoruz. Ben Personeller ve Departmanlar tablosunu seçiyorum.
Tabloları tek tek ekleyip listeyi kapattıktan sonra şöyle bir ekran olacak.
Üstte tabloları görüyoruz. Alt kısımda sorgunun oluşturulmaya başlandığını da görebiliyoruz. Burada ilk etapta CROSS JOIN yazıyor ama birazdan değişecek.
Şimdi Departmanlar Tablosu ile Personeller Tablosu arasında bir bağlantı kuracağız. Bu bağlantıyı per_Departman üzerinden yapacağız. Burada Personeller tablosunda departman adı değil dep_RECno’lar yazıyor. dep_RECno ile per_Departman kolonları eşleyerek Departman adlarını alacağız.
Soldaki Departman tablosundaki per_RECno’yu yu tutup, Personeller tablosundaki per_Departman kolonu üzerine getirip bırakıyoruz. Bu şekilde kolonlar eşlenmiş oluyor. Ek olarak burada görünmesini istediğimiz kolonları da seçiyoruz.
Aşağıdaki görselde son hali görebilirsiniz.
Personeller tablosunda departman kolonu, dep_RECno’ları tuttuğundan onun görünmesini istemedik. Onun yerine per_Departman gördüğü yerde, Departmanlar tablosundaki dep_RECno’ya bakarak gidip adını alacak ve bize dep_Adı ‘nı gösterecek.
SQL Management Studio da üst kısımda New Query diyerek açılan sayfaya Alt kısımdaki sorguyu alıp yapıştırıyor ve çalıştırıyoruz.
Biliyoruz ki Personeller tablosunda dep_RECno’lar var yani normalde o sayıların görünmesi lazım. Şimdi çalıştırdığımız sorgunun sonucunu görelim.
Yeşil işaretli alana baktığımızda kolonun Departmanlar tablosundan geldiğini görüyoruz.
DİKKAT!!
Eğer Departmanlar tablosundan bir kaydı silersek karşımıza gelen sonuç silinen departmana ait olan kayıtların olmadığı bir sonuç olacaktır. Departmanlar tablomdaki Personel departmanını sildiğim de aldığım sonuçta aşağıdaki gibidir. yukarıdaki ve aşağıdaki görsellerin sağ en alt kısımlarına bakarsanız anlayacaksınız.
Gördüğünüz personel departmanına ait bir satırımız vardı. Sorguyu çalıştırdığımızda o kayıt listelenmedi.
Tabloların yer aldığı kısmın hemen altındaki kısımdan Alias ‘ları ( AS ) verebilirsiniz.
Bu ekranda oluşturduğunuz View’leri saklayabilir. Fonksiyon gibi kullanabilirsiniz. Şahsen bu zamana kadar hiç kullanmadım. Anlatmamı isterseniz yorum yaparak isteyebilirsiniz.
SQL Inner Join Komutu – Tabloları Birleştirme , dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere.
Microsoft SQL Server & T-SQL Eğitim Seti ders listesi için tıklayınız.
Sağlıcakla ve Takipte Kalın.