SQL Server’da Left Join ve Left Outer Join Arasındaki Farklar
Herkese merhaba,
Bu başlık altında SQL Server’da Left Join ve Left Outer Join arasındaki farkları inceleyeceğiz.
SQL Server’da, “LEFT JOIN” ve “LEFT OUTER JOIN” kavramları benzer sonuçlar verirler ancak farklılıkları vardır.
“LEFT JOIN”, iki tabloyu birleştirirken sol tablodaki tüm satırları ve sağ tablodaki eşleşen satırları içeren bir sonuç seti oluşturur. Eğer sağ tabloda eşleşen satır yoksa, bu durumda NULL değerler döndürülür.
Örnek
CREATE DATABASE LeftJoinLeftOuterJoinFarkı
GO
USE LeftJoinLeftOuterJoinFarkı
GO
CREATE TABLE Musteriler (
MusteriId INT
,Ad VARCHAR(50)
)
GO
INSERT INTO Musteriler
VALUES (1, 'Selim'), (2, 'Kayhan'), (3, 'Burak')
GO
CREATE TABLE Siparisler (
SiparisId INT
,MusteriId INT
)
GO
INSERT INTO Siparisler
VALUES (100, 1), (200, 4), (300, 3)
GO
Tabloları inceleyelim.
SELECT
*
FROM dbo.Musteriler
SELECT
*
FROM dbo.Siparisler
Farkı inceleyecek olursak
LEFT JOIN
SELECT
*
FROM Musteriler M
LEFT JOIN Siparisler S
ON S.MusteriId = M.MusteriId
Sonuç
LEFT OUTER JOIN
SELECT
*
FROM Musteriler M
LEFT OUTER JOIN Siparisler S
ON S.MusteriId = M.MusteriId
Sonuç
Execution planında ise ayrıntılı olarak durumu görebiliriz.
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.