PAYLAŞ

Bu makalemizde T-SQL komutları ile sorgu yazmayı ve komutların kullanımını anlatacağız. Burada anlattığımız t-sql komutları PDF formatında sizinle paylaşacağız. Konu hakkında temel bilgiye sahip değilseniz T-SQL nedir başlıklı makalemizi de okumanızı tavsiye ederim.

Burada verdiğimiz T-SQL komutları ile çalışmak için SQL Server Management Studio kullanacağız. Daha önce anlattığımız SQL Server 2012 kurulumunu yaptıysanız, bilgisayarınızın programlar menüsünden Management Studio’ yu başlatıp komutları çalıştırabilirsiniz.

T-SQL komutlarını çalıştırmak için kendinize özgü, farklı veri tiplerine sahip bir veritabanı tasarlayıp çalışabilirsiniz. Yada Codeplex sayfasından ücretsiz indirebileceğiniz Northwind veritabanını da kullanabilirsiniz. Bu anlatımda biz Northwind veritabanını kullanacağız.

T-SQL komutları anlatımı için örnek veritabanı: Northwind
T-SQL komutları anlatımı için örnek veritabanı: Northwind

T-SQL Komutları

Tüm hazırlıklarımızı yaptığımıza göre artık komutları tanımaya ve kullanmaya başlayabiliriz. İçeriğimiz hakkında da kısaca bilgi vermek gerekirse, önce komutun ne işe yaradığını sonra söz dizimini (yazımını) en sonda bir örnek ve çözümünü her T-SQL komutu için vereceğiz.

T-SQL Select Komutu

Select komutu veritabanından veri seçmek için kullanılır. Sorgu sonucunda yanıt olarak bir tablo döner ve bu tabloya sonuç kümesi denir.

Söz dizimi:  SELECT <sutunAdlari> FROM <tabloAdi>

Örnek: Ürünler tablosundan (Products) ürün isimlerini (ProductName) ve fiyatlarını (UnitPrice) getiren t-sql kodu.

Çözüm:   SELECT ProductName, UnitPrice FROM Products 

Select komutu ile kayıt seçerken tüm sütunları getirmek istediğimizde asteriks (*) karakterini   <sutunAdlari>  yerine kullanabiliriz. Örneğin   SELECT * FROM Products  yazdığımızda ürünler tablosundaki tüm sütunları getirmiş oluruz.

Yazdığımız T-SQL sorgularına belirli şartlar, kriterler ekleyebiliriz. Bunun için Where, Like, Between gibi çeşitli komutlar mevcuttur. Öncelikle bunları görmekte fayda var.

T-SQL Where Komutu

Where komutu sorgumuza bir koşul eklemek istediğimizde kullanabileceğimiz komuttur. Örneğin fiyatı 20$’ dan az olan ürünleri listelemek istersek Where şartını kullanmamız gerekir. Where komutu ile birlikte aşağıdaki matematiksel operatörler kullanılabilir.

  • = : Eşittir
  • <> : Eşit Değil
  • > : Büyüktür
  • < : Küçüktür
  • >= : Büyük Eşit
  • <= : Küçük Eşit

Söz dizimi :   SELECT <sutunAdi FROM <tabloAdi> WHERE <kosul>

Örnek : Ürünler tablosundan fiyatı 50$ üzerinde olan ürünleri getiren T-SQL komutları.

Çözüm:   SELECT * FROM Products WHERE UnitPrice>50

Örnek: Ürünler tablosundan kategori numarası (CategoryID) 3 olan ürünleri getiren T-SQL komutları.

Çözüm :   SELECT * FROM Products WHERE CategoryID=3

Like Komutu

Like komutu Where şartı ile birlikte, veritabanında metinsel ifadeler aramak için kullanılır. Örneğin isminin ilk harfi ‘A’ olan ürünler yada isminde ‘box’ kelimesi geçen ürünleri listelemek istediğimizde Like komutu kullanılır. Like komutuna yazılacak koşul tek tırnaklar arasına yazılır. Like komutunun çeşitli kullanımları vardır, bunun için de çeşitli joker karakterler kullanılır. Aşağıda Like ile birlikte kullanılan joker karakterler ve kullanım amaçları listelenmiştir.

  • % : Herhangi uzunlukta karakterler
  • _ : Herhangi bir karakter
  • [] : Verilen aralıkta herhangi bir karakter
  • [^] : Verilen aralıkta olmayan herhangi bir karakter

Söz dizimiSELECT <sutunAdi> FROM <tabloAdi> WHERE <sutunAdi> LIKE <kosul>

Örnek: İsmi ‘T’ harfi ile başlayan ürünleri getiren T-SQL kodu.

Çözüm:   SELECT * FROM Products WHERE ProductName LIKE 'T%'

Örnek: Birim miktarı (QuantityPerUnit) kutu (box) olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE QuantityPerUnit LIKE '%box%'

Örnek: Ürün ismi A,K,Z harflerinden biriyle başlayan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE ProductName LIKE '[AKZ]%'

Örnek: İsminin son harfi F ile K harfleri arasında olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE ProductName LIKE '%[F-K]'

And ve Or Komutları

Where şartı ile birden çok şart koşmak için And ve Or mantıksal operatörleri kullanılır. And komutu ile birleştirilen tüm koşullara uyan kayıtlar işlenir. Or komutu ile birleştirilen koşullardan en az birine uyan kayıtlar işlenir. 2’den fazla koşul olması durumunda parantez kullanımı önceliği belirler.

Söz dizimiSELECT <sutunAdi> FROM <tabloAdi> WHERE <kosul1> OR <kosul2>

Örnek: Kategori numarası 3 yada fiyatı 100$ üzerinde olan ürünleri getiren T-SQL kodu.

Çözüm:   SELECT * FROM Products WHERE CategoryID=3 OR UnitPrice>100

Örnek: Kategori numarası 3 ve stok adeti (UnitsInStock) 20’den az olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE CategoryID=3 AND UnitsInStock<20

Between Komutu

Between komutu aralık kontrol etmek için kullanılır. Belirtilen 2 değerin aralığında olan kayıtlar listelenir. Bu değerler sayısal, metin ve tarih türünden olabilir.

Söz dizimi:   SELECT <sutunAdi> FROM <tabloAdi> WHERE <sutunAdi> <deger1> AND <deger2>

Örnek: Fiyatı 20 ile 30$ aralığında olan ürünleri listeleyen T-SQL komutları.

ÇözümSELECT * FROM Products WHERE UnitPrice BETWEEN 20 AND 30

In Komutu

In komutu ile verilen değerlerden herhangi birisi ile eşleşen kayıtları getirir. In komutu kullanımı Or komutu ile aynıdır.

Söz dizimiSELECT <sutunAdlari> FROM <tabloAdi> WHERE <sutunAdi> IN <deger1,deger2>

Örnek: Sipariş birimi (UnitsOnOrder) 40 ve 50 olan ürünleri getiren T-SQL kodu.

ÇözümSELECT * FROM Products WHERE UnitsOnOrder IN (40,50)

Is Null Komutu

Is Null komutu ile belirtilen alanda değer girilmemiş kayıtlar, Is Not Null komutu ile belirtilen sütunda değer girilmiş tüm kayıtlar listelenir.

Söz dizimi:   SELECT <sutunAdlari> FROM <tabloAdi> WHERE <sutunAdi> IS NULL

Örnek: Siparişler (Orders) tablosunda gönderi bölgesi (ShipRegion) belirtilmemiş kayıtları getiren T-SQL komutları.

ÇözümSELECT * FROM Orders WHERE ShipRegion IS NULL

Örnek: Siparişler tablosunda gönderi bölgesi belirtilmiş kayıtları getiren T-SQL komutları.

ÇözümSELECT * FROM Orders WHERE ShipRegion IS NOT NULL

T-SQL Delete Komutu

Veritabanından kayıt silmek için Delete komutu kullanılır. Delete komutu kullanılırken Where şartı kullanılmazsa tablodaki tüm kayıtlar silinir, bu sebeple kullanımına dikkat etmek ve Where şartını uygun koşmak gerekir.

Söz dizimi:   DELETE FROM <tabloAdi> WHERE <kosullar>

Örnek: Kategoriler (Categories) tablosundan numarası 8 olan kategoriyi silen T-SQL komutları.

ÇözümDELETE FROM Categories WHERE CategoryID=8

Örnek: Tedarikçiler (Suppliers) tablosunda yer alan Fransa merkezli firmaları silen T-SQL komutları.

ÇözümDELETE FROM Suppliers WHERE Country='France'

T-SQL Update Komutu

Update komutu veritabanında kayıt güncellemek için kullanılan komuttur. Yazacağımız koşula bağlı olarak güncelleme kayıtlarda ve sütunlarda yapılabilir. Güncellenecek değerler”SET” deyimi ile birlikte yazılır.

Söz dizimiUPDATE <tabloAdi> SET <guncellenecekAlanlar> WHERE <kosullar>

Örnek: Ürünler tablosunda numarası 1 olan ürünün fiyatını 20$ olarak güncelleyen T-SQL kodu.

ÇözümUPDATE Products SET UnitPrice=20 WHERE ProductID=1

Örnek: Ürünler tablosunda numarası 1 olan ürünün stok adetini 15 ve kategori numarasını 2 olarak güncelleyen T-SQL kodu.

ÇözümUPDATE Products SET CategoryID=2, UnitsInStock=15 WHERE ProductID=1

T-SQL Insert Into Komutu

Insert komutu veritabanına yeni bir kayıt eklemek için kullanılır. Into deyimi ile kayıt eklenecek tablo, Values deyimi ile eklenecek bilgiler gönderilir. 2 farklı söz dizimi vardır.

Söz dizimi 1INSERT INTO <tabloAdi> VALUES (deger1,deger2,deger3,...)

Söz dizimi 2INSERT INTO <tabloAdi> (sutun1,sutun2,sutun3,...) VALUES (deger1,deger2,deger3,...)

Örnek: Eyaletler (Territories) tablosuna numarası 99999, açıklaması TeknologWeb ve bölge numarası 1 olan kaydı ekleyecek T-SQL komutları.

Çözüm 1INSERT INTO Territories VALUES (99999, 'TeknologWeb', 1)

Çözüm 2INSERT INTO Territories (TerritoryID,TerritoryDescription,RegionID) VALUES (99999, 'TeknologWeb', 1)

 

T-SQL komutları anlatımımız bu kadar. Bu anlatımın yer aldığı t-sql komutları pdf dosyasını indirmek için buraya tıklayabilirsiniz.

Bir önceki yazımız olan Mobil Öğrenme Nedir? başlıklı makalemizi de okumanızı öneririz.

1 YORUM

CEVAP VER