Sql Server

Sql Server Join İle Tablo Birleştirme

Herkese merhaba, Sql Server yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda Sql Server’da join sorgularından bahsedeceğim. Hadi başlayalım !

SQL Server, ilişkisel veritabanı yönetim sistemlerinden (RDBMS) biridir. Veritabanı yönetimi yaparken, birkaç tablodan veri almak veya birleştirmek sıklıkla ihtiyaç duyulan bir işlemdir. Bu işlemi gerçekleştirmek için JOIN sorguları kullanılır.

Bu makalede, SQL Server’da JOIN sorguları hakkında bilgi edineceğiz ve farklı JOIN türleri ile örnekler sunacağız.

JOIN Sorguları

JOIN sorguları, bir veya daha fazla tablodaki satırları birleştirir ve bu satırları tek bir sonuç seti olarak döndürür. Bu sorgular, ilişkisel veritabanlarında veri almanın ve analiz etmenin önemli bir yoludur.

JOIN sorguları, bir ana tablo ve bu tabloyla ilişkili bir veya daha fazla yan tablo (joined table) arasındaki ilişkiyi tanımlayan bir bağlama kriteri kullanır. Bağlama kriteri, JOIN sorgusunun ON ifadesinde belirtilir.

JOIN Türleri

SQL Server’da dört farklı JOIN türü vardır:

INNER JOIN

INNER JOIN, bir ana tablo ve bu tabloyla ilişkili bir veya daha fazla yan tablo arasındaki ortak kayıtları birleştirir. INNER JOIN sorgusu, sadece eşleşen kayıtları döndürür. INNER JOIN sorgusunun temel yapısı şu şekildedir:

SELECT * FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;

Bu sorgu, table1 ve table2 tablolarındaki ortak kayıtları birleştirir ve bu kayıtları tek bir sonuç seti olarak döndürür.

LEFT JOIN

LEFT JOIN, bir ana tablo ve bu tabloyla ilişkili bir veya daha fazla yan tablo arasındaki ortak ve ana tablodaki tüm kayıtları birleştirir. LEFT JOIN sorgusu, eşleşen kayıtların yanı sıra, ana tablodaki eşleşmeyen kayıtları da döndürür. LEFT JOIN sorgusunun temel yapısı şu şekildedir:

SELECT * FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;

Bu sorgu, table1 ve table2 tablolarındaki ortak ve ana tablodaki tüm kayıtları birleştirir ve bu kayıtları tek bir sonuç seti olarak döndürür.

RIGHT JOIN

RIGHT JOIN, LEFT JOIN ile benzerdir ancak bir ana tablo ve bu tabloyla ilişkili bir veya daha fazla yan tablo arasındaki ortak ve yan tablodaki tüm kayıtları birleştirir. RIGHT JOIN sorgusu, eşleşen kayıtların yanı sıra, yan tablodaki eşleşmeyen kayıtları da döndürür. RIGHT JOIN sorgusunun temel yapısı şu şekildedir:

SELECT * FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name;

Bu sorgu, table1 ve table2 tablolarındaki ortak ve yan tablodaki tüm kayıtları birleştirir ve bu kayıtları tek bir sonuç seti olarak döndürür.

FULL OUTER JOIN

FULL OUTER JOIN, bir ana tablo ve bu tabloyla ilişkili bir veya daha fazla yan tablo arasındaki tüm kayıtları birleştirir. FULL OUTER JOIN sorgusu, eşleşen kayıtların yanı sıra, ana tablodaki ve yan tablodaki eşleşmeyen kayıtları da döndürür. FULL OUTER JOIN sorgusunun temel yapısı şu şekildedir:

SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;

Bu sorgu, table1 ve table2 tablolarındaki tüm kayıtları birleştirir ve bu kayıtları tek bir sonuç seti olarak döndürür.

Örnekler

Örneğin varchar tipinde CustomerName ve int tipte CustomerID sütunları bulunan Customers ve int tipte CustomerID ile int tipte OrdersID sütunları bulunan Orders tablolarının olduğunu varsayalım.

Bu tablolara göre aşağıdaki örnekler, farklı JOIN türlerini göstermektedir.

INNER JOIN

İki tabloyu INNER JOIN kullanarak birleştirmek için aşağıdaki sorguyu kullanabilirsiniz:

SELECT Customers.CustomerName, Orders.OrderID FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Bu sorgu, Customers tablosu ve Orders tablosundaki ortak kayıtları birleştirir ve CustomerName ve OrderID sütunlarını döndürür.

LEFT JOIN

İki tabloyu LEFT JOIN kullanarak birleştirmek için aşağıdaki sorguyu kullanabilirsiniz:

SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Bu sorgu, Customers tablosu ve Orders tablosundaki ortak kayıtları birleştirir ve Customers tablosundaki tüm kayıtları döndürür. Orders tablosunda eşleşen kayıtlar varsa, bu kayıtları da döndürür.

RIGHT JOIN

İki tabloyu RIGHT JOIN kullanarak birleştirmek için aşağıdaki sorguyu kullanabilirsiniz:

SELECT Customers.CustomerName, Orders.OrderID FROM Customers RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Bu sorgu, Customers tablosu ve Orders tablosundaki ortak kayıtları birleştirir ve Orders tablosundaki tüm kayıtları döndürür. Customers tablosunda eşleşen kayıtlar varsa, bu kayıtları da döndürür.

FULL OUTER JOIN

İki tabloyu FULL OUTER JOIN kullanarak birleştirmek için aşağıdaki sorguyu kullanabilirsiniz:

SELECT Customers.CustomerName, Orders.OrderID FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

Bu sorgu, Customers tablosu ve Orders tablosundaki tüm kayıtları birleştirir ve Customers tablosunda ve Orders tablosunda eşleşen kayıtları döndürür. Eşleşmeyen kayıtlar NULL değerleriyle doldurulur.

Sonuç

Bu makalede, SQL Server’da JOIN sorgularının nasıl kullanılacağı ve JOIN türlerinin ne olduğu açıklandı. INNER JOIN, LEFT JOIN, RIGHT JOIN ve FULL OUTER JOIN türlerine örnekler verilerek, bu sorguların nasıl kullanılabileceği ve hangi durumlarda tercih edilebileceği anlatıldı. JOIN sorgularının kullanımı, veritabanı yönetimi ve raporlama işlemleri için oldukça önemlidir ve SQL Server’da bu sorguların doğru bir şekilde kullanılması, veri analizi ve işlem performansı açısından büyük önem taşır.

Evet Sql Server’da join sorguları bu şekilde yazılmakta. Tüm Sql Server yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu