09 December 2016

SQL – JOIN Komutu

JOIN tabloları birleştirmek için kullanılan yöntemdir. Birleştirme işleminin yapılabilmesi için her iki tabloda da eşleşen ortak alanların olması gerekir.

Oldukça yaygın bir JOIN türü INNER JOIN’dir.

INNER JOIN söz dizilimi:

SELECT secim listesi
FROM ilk_tablo [takma ad]
birleştirme_tipi ikinci tablo[takma_ad]
[ON birlestirme_kosulu]

Örnek:

select ProductName, CategoryName
from Products as p
inner join Categories as c
on p.CategoryID=c.CategoryID

Aslında, inner anahtar kelimesi isteğe bağlıdır. Birçok developer sorgu cümlesinde daha az kelime olsun diye inner kelimesini kullanmaz.

Örnek:

select CompanyName, FirstName + ' ' + LastName as Calisan, OrderDate
from Orders as o
join Customers as c
on o.CustomerID = c.CustomerID
join Employees as e
on o.EmployeeID = e.EmployeeID

OUTER JOIN nadiren kullanılır. Birçok developer INNER JOIN dışında yöntemi pek tercih etmez. OUTER JOIN kullanılarak yüksek performans elde edilebilir.

FULL JOIN sol ve sağdaki tabloların biraraya toplanması olarak düşünülebilir. Birleştirmenin her iki taraftaki tüm satırları kapsadığını servere söylemiş oluyoruz.

CROSS JOIN yine nadiren kullanılan bir birleştirme türüdür. Küçük veri kümelerini brleştirip üzerinde çalışmalar yapmak için veya Dekart çarpımı tarzı bilimsel hesaplamalarda kullanılır.