SQL Server’da Common Table Expression Kullanımı

SQL Server’da Common Table Expression Kullanımı

Herkese merhaba,

Bu yazıda SQL Server’da Common Table Expression kullanımından bahsedeceğim. Common Table Expression’a ortak tablo ifadeleri de denir. Sorguların yürütülmesi anında elde edilmiş olan geçici sonuçlardır. Bir veya daha fazla sefer kullanılabilirler.

CTE’nin özelliklerine değinirsek;

  • Bir tablo ya da view değildir herhangi bir veri içermezler.
  • Kendi kendini çağırabilir ve aynı sorgu içerisinde birden fazla çalıştırılabilirler.
  • Daha çok recursive işlemlerde kullanılırlar.
  • Common Table Expression’larda table ve view yapılarından farklı olarak primary key, unique, not null, default. gibi constraint ifadeleri desteklenmez.
  • Common Table Expression’lar yalnızca SELECT işlemlerinde değil INSERT, UPDATE ve DELETE işlemlerinde de kullanılabilir.
  • Kendi indexleri yoktur. İçeriğindeki tabloların indexlerini kullanırlar.
  • Sadece çalıştığı sorgu bloğunda geçerlidir.
  • Farklı tablolarda bulunan bilgi içeriklerinin birbiriyle karşılaştırılması gibi karmaşık işlerde kullanılabilir.
  • Common Table Expression’ların okunurluğu yüksektir.

Konu ile ilgili örneği Northwind veritabanını kullanarak yaptık. Örneği inceleyelim.


Burada With ile CTE yapımızı oluşturuyoruz. Sonrasında CTE’ye isim veriyoruz ve içteki sorguda çekmek istediğimiz alanları parantez içinde belirtiyoruz. Ben alias değerlerini yazdım. En altta ise verdiğimiz CTE ismini from ifadesinden sonra çağırıyoruz. CTE oluştururken kaç adet alanı parantez içinde belirttiyseniz o kadar alanı select ifadesinde çekebilirsiniz. Son olarak sorgu bütün halde çalışır. Sadece select sorgusunu çağırırsanız hata alacaksınız.

Herkese çalışma hayatında ve yaşamında başarılar kolaylıklar.

SQL Server tarafında kendini ilerletmeye çalışırken bildiklerini sürekli başkalarına aktaran, yazılım dünyasında (C#, Java, Python vb.) kendini güncel tutmaya çalışan, araştırma yapmaktan bıkmayan, meraklı, bilginin üzerine bilgi katmaktan mutluluk duyan bir yazılım eğitmeni ve kod sever. – Grafik tasarım dünyasında Indesign’ı anlatacak kadar iyi kullanabilen, Photoshop ve Illustrator’e de orta düzey hakimiyeti bulunan, internet üzerinde online kimya dergisi kurmuş ve bunu yüzbinlerce kişiye ulaştırmayı başaran bir grafik sever. -WordPress tarafında 5 adet web sitesi kurmuş, bu sistemler üzerine çalışan bir WordPress sever. -Sosyal medya üzerinde okumalara ve araştırmalara devam eden, kendi kurmuş olduğu kimya dergisini daha çok kişiye nasıl ulaştırırım diye düşünen ve bu konuda SEO çalışmaları üzerine kafa yoran bir Sosyal Medya sever. Kısaca çok çalışmayı seven, azimli biriyim.

Yazıyı Paylaşın

SQL Server Eğitimleri Kanalına Abone Olun

İlişkili Yazılar

Kimler Neler Demiş?

avatar
 
smilegrinwinkmrgreenneutraltwistedarrowshockunamusedcooleviloopsrazzrollcryeeklolmadsadexclamationquestionideahmmbegwhewchucklesillyenvyshutmouth
  Subscribe  
Bildir