T-SQL Komutları

T-SQL Komutları


Bu videomda T-SQL ile programlama yapmak için kesin olarak bilinmesi kurallara değindim. Gelecek içeriğimde view,trigger, procedure ve UDF konularına da değindikten sonra sınırsız olarak transact scriptler hazırlayacağız.

Değişken tanımlama


Değişkenler DECLARE komutu ile başlar değişken adının başına @ işareti koyulur ve AS VERİ TİPİ şeklinde tanımlanır. SET komutu ile değişkene değer ataması yapılır.

Kopyala
DECLARE @SAYI1 AS INT
	SET @SAYI1 = 25
DECLARE @SAYI2 AS INT
	SET @SAYI2 = 30
DECLARE @TOPLAM AS INT
	SET @TOPLAM = @SAYI1+@SAYI2
	SELECT @TOPLAM
Kopyala
DECLARE @AD AS VARCHAR(100)
	SET @AD = 'SEFA'
DECLARE @SOYAD AS VARCHAR(100)='ÇELİK'
DECLARE @TAMAD AS VARCHAR(200)
	SET @TAMAD=@AD+ ' ' + @SOYAD

	SELECT @AD,@SOYAD,@TAMAD
Kopyala
DECLARE @TARIH AS DATETIME
SET @TARIH = '2025-05-07 17:51:10'

SELECT @TARIH
DECLARE @YIL AS INT
DECLARE @AY AS INT
DECLARE @GUN AS INT
DECLARE @SAAT AS INT
DECLARE @DAKIKA AS INT
DECLARE @SANIYE AS INT

SET @YIL = YEAR(@TARIH)
SET @AY = MONTH(@TARIH)
SET @GUN = DAY(@TARIH)
SET @SAAT = DATEPART(HOUR,@TARIH)
SET @DAKIKA = DATEPART(MINUTE,@TARIH)
SET @SANIYE = DATEPART(SECOND,@TARIH)

SELECT @TARIH,@YIL,@AY,@GUN,@SAAT,@DAKIKA,@SANIYE

SQL sorgusundan gelen değeri değişkene atama

Kopyala
DECLARE @ENBUYUK AS INT
DECLARE @ENKUCUK AS INT
SELECT @ENBUYUK=MAX(muzisyen_yas),@ENKUCUK=MIN(muzisyen_yas) FROM muzisyenler

SQL sorgusuna parametre gönderme

Kopyala
DECLARE @YAS AS INT
SET @YAS=30
SELECT * FROM muzisyenler WHERE muzisyen_yas > @YAS

T-SQL Fonksiyonları


Aşağıdaki linklerden bütün T-SQL fonksiyonlarına ulaşabilirsiniz. Fonksiyonun ne işe yaradığı, nasıl kullanılacağı gibi bütün bilgiler mevcut.

Kopyala
https://learn.microsoft.com/en-us/sql/t-sql/functions/string-functions-transact-sql?view=sql-server-ver16
Kopyala
https://learn.microsoft.com/en-us/sql/t-sql/functions/mathematical-functions-transact-sql?view=sql-server-ver16
Kopyala
https://learn.microsoft.com/en-us/sql/t-sql/functions/date-and-time-data-types-and-functions-transact-sql?view=sql-server-ver16

Şart Blokları


Şart Blokları bir şartın karşılanıp karşılanmadığına göre programın nasıl davranacağını belirler.T-SQL'de 3 farklı şart bloğu vardır bunlar;

  • IF= Yüksek seviye programlama dillerindeki mantıkla aynı çalışır. Şartlar BEGIN ve END komutları arasında yazılır. Sorguların içinde kullanılamaz
  • IIF= Sorguların içinde kullanılabilir. Sadece 2 şart eklenebilir. İlk parametre koşul sağlanırsa ikinci parametre koşul sağlanmazsa gösterilir.
  • CASE WHEN= Sorguların içinde kullanılabilir.Sınırsız şart eklenebilir.
Kopyala
DECLARE @NUMBER AS INT
	SET @NUMBER = 0
	DECLARE @RESULT AS VARCHAR(100)

IF @NUMBER > 0
BEGIN 
	SET @RESULT = 'Seçilen Değer Pozitif'
END
ELSE IF @NUMBER < 0
BEGIN
		SET @RESULT= 'SEÇİLEN DEĞER NEGATİF'
END
ELSE
BEGIN
		SET @RESULT= 'SEÇİLEN DEĞER SIFIR'
END
SELECT @RESULT
Kopyala
SELECT *, 
CASE 
	WHEN muzisyen_yas < 35 THEN 'GENÇ'
	WHEN muzisyen_yas < 60 THEN 'YAŞLI'
END AS Yaş_Grubu FROM muzisyenler

Kopyala
SELECT IIF(muzisyen_cinsiyet='ERKEK','Cinsiyeti Erkek','Cinsiyeti Kadın') , * FROM muzisyenler
SELECT * FROM muzisyenler

Döngüler


Döngler bir şartın karşılandığı sürece çalışan yapılardır.T-SQL'de 2 farklı döngü kullanımı vardır bunlar;

  • GO= Belirlenen sayı kadar işlemi tekrarlar.
  • WHILE= Koşul sağlandığı sürece işlemi tekrarlar.
Kopyala
INSERT INTO abc VALUES ('sefa');
GO 5
Kopyala
DECLARE @I AS INT =0
WHILE @I<5
BEGIN
	INSERT INTO abc VALUES ('sefa');
	SET @I=@I+1
END