Tablo birleştirme işlemi Join

Normalizasyon edilmiş veritabanın da ki bir kaç tabloyu birleştirip tek bir tabloda göstermek için Join kullanılır. Join iki tablodan bilgileri alarak tek bir sonuç verir.

Alttaki sablon örneğinde ayrı iki tablodaki değerleri birleştirip tek tabloda gösteriyor.

1
2
3
4
SELECT kolon_adi
FROM tablo_adi
JOIN tablo_adi2
ON tablo_adi.kolon_adi=tablo_adi2.kolon_adi

Ör. Northwind veritabanın da 2 ayrı tablolar üzerinden hangi ürün hangi firmadan alınıyor yazalım.

1
2
3
SELECT p.ProductID [Ürünlerno], p.ProductName [Ürünler], s.CompanyName [şirketadı]
FROM Products p
JOIN Suppliers s ON s.SupplierID = p.SupplierID

Products p ve Suppliers s tabloları kısaltarak(takma ad) yazım kolaylığı sağlamakta. Köşeli parantezler ile tablo başlıklarını değiştirdik. FROM Products p JOIN Suppliers s yazarak Products ile Suppliers tablosunu birleştirdik.

İkiden fazla tabloyu birden fazla join kullanarak yapabiliriz.

Ör.Northwind veritabanın da, çalısanlar hangi eyaletten ve hanngi bölgeden sorumludur yazalım;

1
2
3
4
5
6
7
8
SELECT e.EmployeeID,
e.FirstName,
e.LastName,
t.TerritoryDescription AS Eyalet,
r.RegionDescription AS Bolge FROM Employees e
JOIN EmployeeTerritories et ON et.EmployeeID = e.EmployeeID
JOIN Territories t ON t.TerritoryID = et.TerritoryID
JOIN Region r ON r.RegionID = t.RegionID

Kaynak : Cemal Can AKGÜL (Bilge Adam Yazılım Eğitmeni)

Order By Asc – Desc

Sql’de tablodaki değerleri sıralamak için ORDER BY anahtarı kullanılır.

1
2
3
SELECT kolon_adi
FROM tablo_adi
ORDER BY kolon_adi

Bu şekilde yazıldığında sıralama a’dan z’ye DESC default değer ile gelir. Z’den a’ya sıralamak istersek ASC kullanırız ve şu şekilde yaparız;

1
2
3
SELECT kolon_adi
FROM tablo_adi
ORDER BY kolon_adi ASC