SQL Server Veritabanında RIGHT JOIN Kullanımı
Önceki derslerimizde SQL cümlecikleri yazarak INNER JOIN ve LEFT JOIN kullanımını incelemiştik, aşağıdaki bağlantıdan INNER JOIN ve LEFT JOIN kullanımı ile ilgili yazıyı inceleyebilirsiniz. Daha önce belirttiğimiz gibi bu örnekleri standart SQL(Ansi SQL) olduğu için MySQL, PostgreSQL ve ORACLE gibi tüm veritabanlarında aynı şekilde kullanabilirsiniz.
SQL INNER JOIN Kullanımı
SQL LEFT JOIN Kullanımı
Bu dersimizde SQL dilinde RIGHT JOIN, yani sağdan birleştirme kullanımını inceleyeceğiz. Bu işlem için daha önce yaptığımız gibi Personel ve Departman isimli iki tablo oluşturup veri giriyoruz. Departman tablosuna veri girerken Personel tablosunda olmayan birkaç departman da girelim. Yani Personel tablomuz solda, departman tablomuz sağda olacak.
tblpersonel tablosu Tasarımı
tbldepartman tablosu Tasarımı
Personel Tablosu Listesi
departman Tablosu Kayıtları
Aşağıdaki şekilde görüldüğü RIGHTJOIN işleminde sağ tablodaki (tablo2) tüm kayıtlar getirilir, sol taraftaki tablodan(tablo1) ise sadece sağdaki tablo ile eşleşenler getirilir. Yani örneğimiz için düşünecek olursak, Personel tablosu solda, departman tablosu sağda olsun. Departman tablosunda herhangi bir koşul aranmaksızın tüm kayıtlar getirilecektir. Personel tablosundan ise departman tablosundaki kayıtlar esas alınarak, sadece Departman tablosundaki departmanID alanı ile eşleşen personeller getirilecektir. Yani departmanID alanı NULL olan personel getirilmeyecektir.
SQL INNER JOIN Kullanımı
SQL LEFT JOIN Kullanımı
Bu dersimizde SQL dilinde RIGHT JOIN, yani sağdan birleştirme kullanımını inceleyeceğiz. Bu işlem için daha önce yaptığımız gibi Personel ve Departman isimli iki tablo oluşturup veri giriyoruz. Departman tablosuna veri girerken Personel tablosunda olmayan birkaç departman da girelim. Yani Personel tablomuz solda, departman tablomuz sağda olacak.
tblpersonel tablosu Tasarımı
tbldepartman tablosu Tasarımı
Personel Tablosu Listesi
departman Tablosu Kayıtları
Aşağıdaki şekilde görüldüğü RIGHTJOIN işleminde sağ tablodaki (tablo2) tüm kayıtlar getirilir, sol taraftaki tablodan(tablo1) ise sadece sağdaki tablo ile eşleşenler getirilir. Yani örneğimiz için düşünecek olursak, Personel tablosu solda, departman tablosu sağda olsun. Departman tablosunda herhangi bir koşul aranmaksızın tüm kayıtlar getirilecektir. Personel tablosundan ise departman tablosundaki kayıtlar esas alınarak, sadece Departman tablosundaki departmanID alanı ile eşleşen personeller getirilecektir. Yani departmanID alanı NULL olan personel getirilmeyecektir.
Örnek vermeden önce, LEFT OUTER JOIN'in yazım formatına bakalım
SELECT alanlar FROM tablo1 RIGHT JOIN tablo2 ON tablo1'deki ID alan= tablo2'deki ID alan
Yukarıdaki formata göre SQL Sorgumuz şöyle olacaktır.
Bu sorgunun sonucunda aşağıdaki gibi bir sonuç dönecektir. Dikkat ederseniz sağ taraftaki Departman tablosu esas alındığı için personel tablosunda karşılığı olmayan yani henüz hiç bir personel içermeyen İletişi ve Destek departmanları da dönmüştür.
Sonraki derslerimizde FULL OUTER JOIN kullanımını inceleyeceğiz, derslerimizi takip etmeye devam edin, konulara sıralı şekilde ulaşmak isterseniz en üstte yer alan SQL Server menüsüne tıklayabilirsiniz.
SELECT alanlar FROM tablo1 RIGHT JOIN tablo2 ON tablo1'deki ID alan= tablo2'deki ID alan
Yukarıdaki formata göre SQL Sorgumuz şöyle olacaktır.
select p.ADI, p. SOYADI, d.DEPARTMAN
FROM tblpersonel p
RIGHT JOIN tbldepartman d
ON p.departmanID=d.departmanID
Bu sorgunun sonucunda aşağıdaki gibi bir sonuç dönecektir. Dikkat ederseniz sağ taraftaki Departman tablosu esas alındığı için personel tablosunda karşılığı olmayan yani henüz hiç bir personel içermeyen İletişi ve Destek departmanları da dönmüştür.
Sonraki derslerimizde FULL OUTER JOIN kullanımını inceleyeceğiz, derslerimizi takip etmeye devam edin, konulara sıralı şekilde ulaşmak isterseniz en üstte yer alan SQL Server menüsüne tıklayabilirsiniz.
Mutlu kodlamalar,
Oğuzhan TAŞ
Aralık 2018
Oğuzhan TAŞ
Aralık 2018
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?
- :: PHP ile MySQL veritabanına MySQLi t...