Son Haberler
Anasayfa / Yazılım / SQL / SQL’de Türetilmiş Tablolar

SQL’de Türetilmiş Tablolar

Günümüzde hala SQL Server 2000 sistemleri ile çalışanlar var ise SQL’de türetilmiş tablolar ile çalışmaya devam etmektedirler. Türetilmiş tablolar aslında bir alt sorgu sonucunda oluşturulan tablolardır. Aslında sadece SQL 2000 sisteminde değil SQL Server 2005, SQL Server 2008 sistemlerinde de türetilmiş tablolar mevcuttur. Ama 2005 ve 2008’de türetilmiş tablolar ile birlikte CTE dediğimiz ortak tablo ifadeleri de mevcuttur. Zaten bir sonraki yazımda da buna değineceğim. Söz dizimi aşağıdaki gibidir :

SELECT listelenecek kolonlar FROM tablo1 INNER JOIN (SELECT listelenecek kolonlar FROM tablo2)
AS B ON tablo1.kolon1 = B.kolon2

Syntaxda INNER JOIN kullandım ancak burada ifademiz OUTER JOIN’de olabilir. Mesela aşağıdaki şekilde LEFT OUTER JOIN kullanarak Sales.Customer tablosu ve Sales.SalesOrderHeader tablosu üzerinde bir sorgu oluşturarak türetilmiş tablo elde ettim. Daha sonrada bunun sorgusunu ve sonucunu göreceğiz.

2013022801

Sorgumu oluşturuyorum.

SELECT Musteri.CustomerID, SatisSiparisBasligi.SalesOrderID FROM Sales.Customer AS Musteri
INNER JOIN (SELECT SalesOrderID, CustomerID FROM Sales.SalesOrderHeader)
AS SatisSiparisBasligi ON Musteri.CustomerID = SatisSiparisBasligi.CustomerID

2013022802

Bu yazdığımız sorguyu normal bir INNER JOIN ile de yazabiliriz. Türetilmiş tablolar kullanırken 3 temel noktaya dikkat etmemiz gerekiyor. İlk olarak, türetilmiş tabloda listelenmesini istediğimiz tüm kolonlar dıştaki SELECT listesinde yer alacak. İkinci olarak, türetilmiş tablolar bir alias yani bir takma isim gerektirmektedir. Dış sorguda türetilen tablonun sütunlarını belirtmek için bu takma ad kullanılır. Son olarak da türetilmiş bir tablo birden çok tablo, WHERE deyimi ve hatta kendi içinde başka bir türetilmiş tablo içerebilir, bunu bilmeliyiz.

Bir cevap yazın

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