MSSQL JOIN Mimarisi: INNER, LEFT, RIGHT, FULL OUTER ve CROSS JOIN
SQL’de JOIN, iki veya daha fazla tablodan veri almak için kullanılan önemli bir işlemdir. MSSQL’de farklı türlerde JOIN’ler bulunmaktadır ve her biri belirli bir amaca hizmet eder. Bu makalede, INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN ve CROSS JOIN’lerin nasıl kullanıldığını ve hangi durumlarda hangi JOIN’in kullanılması gerektiği incelenecektir.
INNER JOIN
INNER JOIN, iki tablodaki ortak kayıtları döndürür. Yani, her iki tabloda da eşleşen kayıtların birleştirilmesi sonucunda oluşan sonuç kümesini döndürür.
-- INNER JOIN örneği
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki örnekte, Orders ve Customers tabloları arasında CustomerID sütununa göre eşleşen kayıtlar döndürülür.
LEFT JOIN
LEFT JOIN, sol tablodaki tüm kayıtları ve sağ tablodaki eşleşen kayıtları döndürür. Sağ tabloda eşleşmeyen kayıtlar için NULL değerler döndürülür.
-- LEFT JOIN örneği
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
LEFT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki örnekte, Orders tablosundaki tüm kayıtlar ve Customers tablosundaki eşleşen kayıtlar döndürülür. Customers tablosunda eşleşmeyen kayıtlar için CustomerName sütunu NULL değerler döndürülür.
RIGHT JOIN
RIGHT JOIN, sağ tablodaki tüm kayıtları ve sol tablodaki eşleşen kayıtları döndürür. Sol tabloda eşleşmeyen kayıtlar için NULL değerler döndürülür.
-- RIGHT JOIN örneği
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
RIGHT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki örnekte, Customers tablosundaki tüm kayıtlar ve Orders tablosundaki eşleşen kayıtlar döndürülür. Orders tablosunda eşleşmeyen kayıtlar için OrderID sütunu NULL değerler döndürülür.
FULL OUTER JOIN
FULL OUTER JOIN, iki tablodaki tüm kayıtları döndürür. Eşleşmeyen kayıtlar için NULL değerler döndürülür.
-- FULL OUTER JOIN örneği
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
FULL OUTER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki örnekte, Orders ve Customers tabloları arasındaki tüm kayıtlar döndürülür. Eşleşmeyen kayıtlar için NULL değerler döndürülür.
CROSS JOIN
CROSS JOIN, iki tablonun kartezyen çarpımını döndürür. Yani, her bir tablodaki her bir kaydın diğer tablodaki her bir kayıtlarıyla birleştirilmesi sonucunda oluşan sonuç kümesini döndürür.
-- CROSS JOIN örneği
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
CROSS JOIN Customers;Code language: SQL (Structured Query Language) (sql)
Yukarıdaki örnekte, Orders ve Customers tabloları arasındaki kartezyen çarpımı döndürülür. Her bir Orders kaydı, Customers tablosundaki her bir kayıtlarıyla birleştirilir.
Canlı Ortam Uyarısı
Umarım bu makale, MSSQL’de JOIN’lerin nasıl kullanıldığını ve hangi durumlarda hangi JOIN’in kullanılması gerektiği konusunda size yardımcı olmuştur. İyi çalışmalar!





