SQL Server’da Derived Table Nedir?
Herkese merhaba. Bu yazıda SQL Server’da Derived Table yani Türetilmiş Tablo ile ilgili bilgi paylaşacağım.
SQL Server’da Derived Table (Türetilmiş Tablo), SQL sorgusunun içindeki bir alt sorgu (subquery) sonucu oluşan geçici bir tablodur. Bu geçici tablo, dış sorgu tarafından kullanılabilir ve herhangi bir tablo oluşturma işlemi gerektirmez.
Derived Table yani türetilmiş tablolar, sorgulama karmaşıklığını azaltmak, performansı artırmak ve veri işleme işlemlerinde daha fazla esneklik sağlamak için kullanılır. Genellikle JOIN, WHERE ve HAVING gibi sorgu işlemlerinde kullanılırlar. Türetilmiş tablolarda GROUP BY ve ORDER BY ifadeleri kullanılabilir.
Türetilmiş Tablolar, birden fazla tablo üzerinde JOIN işlemleri gerçekleştirerek, sonuçlarını geçici bir tabloda toplayarak daha basit sorgular yazmayı mümkün kılarlar. Ayrıca, alt sorgular aracılığıyla sorgulanacak veri kümeleri filtrelenerek, sorguların daha hızlı ve verimli olması sağlanabilir.
Türetilmiş Tablolar, SELECT ifadesi içinde bir alt sorgu olarak kullanılır ve geçici olarak bir tablo oluşturur. Alt sorgunun sonuçları, SELECT ifadesinde belirtilen sütunlarla birlikte geçici tabloda saklanır. Bu geçici tablo, dış sorguda kullanılan bir tablo gibi işlem görür ve herhangi bir tablo oluşturma işlemi gerektirmez.
Türetilmiş Tabloların bir avantajı, veritabanında herhangi bir fiziksel depolama alanı kullanmadan verileri işleyebilmeleridir. Bu nedenle, performansı etkilemeden, veri işleme işlemlerinde daha fazla esneklik sağlarlar.
Örneğin, aşağıdaki sorgu, “Orders” tablosundaki müşterilerin toplam sipariş sayısını türetilmiş bir tablo olarak oluşturur:
SELECT
Customers.CustomerID,
Customers.CompanyName,
TotalOrders
FROM
Customers
INNER JOIN (
SELECT
CustomerID,
COUNT(*) AS TotalOrders
FROM
Orders
GROUP BY
CustomerID
) AS OrderTotals
ON Customers.CustomerID = OrderTotals.CustomerID;
Bu sorgu, “Orders” tablosundan müşteri siparişlerinin sayısını hesaplayan bir alt sorgu kullanarak bir türetilmiş tablo oluşturur ve “Customers” tablosuyla birleştirir. Bu sayede, müşteri şirket adı ve sipariş sayısı bilgilerini birleştirerek sonuçları döndürür.
Türetilmiş Tabloların bir dezavantajı ise, bazen verileri işlemek için daha uzun sorgular gerektirebilmeleridir. Ayrıca, büyük veri kümelerinde alt sorguların kullanılması, performans sorunlarına neden olabilir. Bu nedenle, türetilmiş tabloların doğru bir şekilde kullanılması için, sorgu optimizasyonu ve performans testleri yapmak önemlidir.
Linkteki kaynağı da okuyabilirsiniz : https://simplesqltutorials.com/sql-server-derived-tables/
Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.