5.00 / 1 oy

SQL Server With CTE Kullanımı ve Örnekleri

CTECommon Table Expression'ın kısaltmasıdır. Common Table Expression ise SELECT, INSERT, UPDATE ya da DELETE ifadeleri içerisinde başvurabileceğiniz geçici adlandırılmış sonuç kümesine verilen isimdir. CTE sorguları her zaman with ifadesi ile başlarlar, bu yüzden genellikle With CTE olarak anılırlar.

;WITH urunlerCTE (Item_ID, Item_Tarih, Item_Price, birim)
AS
(
  SELECT id, tarih, fiyat, birim FROM tbl_urunler 
)
 
Select top 10 * from urunlerCTE

sql ürünler tablo

Özyinelemeli CTE sorguları hazırlanabilir..

Declare @SatirNo int = 1;
;with SatirCTE as  
   (  
      SELECT @SatirNo as SatirNO    
		UNION ALL
      SELECT  SatirNo + 1  
  FROM  SatirCTE
  where SatirNO < 10
    )  
 
SELECT * FROM SatirCTE

Ya da aşağıdaki gibi özyinelemesiz sorgularda da kullanılabilirler.

;with SatirCTE(SatirNO) as  
   (  
     SELECT 
  ROW_NUMBER() OVER(ORDER BY ad ASC) AS SatirNO
FROM tbl_urunler
WHERE id <= 10
    )  
SELECT * FROM SatirCTE 

Not: CTE ifadeleri Union ALL ile birlikte kulllanılabilirler.

Örnek: CTE içerisinde Select komutu ile hazırladığımız bir kümeyi aşağıdaki gibi Insert ederken kullanabiliriz.

;WITH urunlerCTE (Item_ID, Item_Tarih, Item_Price, birim)
AS
(
  SELECT id, tarih, fiyat, birim FROM tbl_urunler where kategori=1
  UNION ALL
  SELECT id, tarih, fiyat, birim FROM tbl_urunler where kategori=3
)
Insert into tbl_urunGecmisi(id, tarih, fiyat, birim)  
SELECT id, tarih, fiyat, birim from urunlerCTE Order by id

 

Editör editi: sitedeki bazı diğer benzer başlıklar için;

bkz: SQL Server While Kullanımı ve Örnekleri

bkz: SQL Server sp_help prosedürü nedir ve nasıl kullanılır?

bkz: SQL Server versiyonu SQL komutu yazarak nasıl görülebilir?

bkz: SQL Server'da bir tabloyu temizlemek

bkz: SQL Server'da tüm trigger'ları listelemek

bkz: SQL Server'da tablonun mevcut seed değerini görmek

kaanbey

11.09.2021 18:19

Bu soru henüz yanıtlanmamış.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
SQL Server With CTE Kullanımı ve Örnekleri

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.