Bu makalede T-SQL üzerinde bulunan Select komutunu görmüş olacağız. MSSQL Server’da SELECT komutları, veritabanından veri çekmek için kullanılan en temel ve en güçlü DML (Data Manipulation Language) komutlarıdır. Select komutu verdiğimiz herhangi bir değeri bize tablo olarak geri döndüren bir komut olarak karşımıza çıkmaktadır.
Şimdi T-SQL üzerinde tüm select ifadeleri görmüş olacağız.
Select 23
Select 'Yunus'
Select 'Yunus','Yücel'
Virgülden sonraki her ifade bir kolon değeridir.

Yukarıdaki resimdeki görülen ilgili kolonlara Alias verilerek No column name ifadesi kaldırabilir.
Select 'Yunus' Isım,'Yücel' as SoyIsım

Matematiksel herhangi işlemle kolonlar üzerinde işlem yapılabilir.
Select 23+30
Select 'Yunus' +'Yücel' IsımSoyısım,30 as Yas

Yukarıdaki komutlarımızda sorgu sonuçları tablo olarak gelmektedir. Mesaj olarak gelmesini istiyorsak aşağıdaki komut kullanılmaktadır.
Print 23+30
Print 'Yunus' +'Yücel'

Sadece birleştirilecek ifadelerin veri türünün aynı yapı olması gerekmektedir.
Belirli bir tablo üzerinde select sorgusunu çalıştırabiliriz. Aşağıdaki ilk 3 komut veritabanı başlangıçta seçilmiş bir şekilde verilmiştir.
Temel select sorgusu:
SELECT * FROM [sema_adi].[tablo_adi];
Not: Veritabanı altında bulunan tabloya sadece tablo ismiyle select çekildiğinde default şema dbo olarak kabul edilmektedir.
Tabloda bulunan belirli kolonlar üzerinden sorgumuzu çalıştırabiliriz.
SELECT sütun1, sütun2 FROM [sema_adi].[tablo_adi];
Tabloda bulunan belirli kolonlar üzerine Alias tanımlaması yapabiliriz.
SELECT sütun1 kolon1, sütun2 as kolon2 FROM [sema_adi].[tablo_adi];
Tablomuzda belirli sütunun seçilip diğer kolonlar belirtilen kolondan sonra gelmesini sağlayabiliriz.
SELECT sütun1,* FROM [sema_adi].[tablo_adi];
Select sorgumuzda USE komutuyla veritabanımız seçilmemişse tablo adından önce veritabanı adının da belirtilmesi gerekmektedir.
SELECT sütun1,* FROM [veritabani_adi].[sema_adi].[tablo_adi];
Tablo isminde boşluk varsa köşeli parantez kullanılması gerekmektedir. Bu işlem Alias içinde gereklidir.
SELECT * FROM [tablo adi];
Select 23 [Bu Bir Sayıdır.]
Tablomuzda bulunan iki kolonu birleştirme işlemi yapabiliriz. Sonuç tek tablo kolonu olarak dönmektedir. Sadece ilgili kolonların aynı türde olması gerekmektedir yoksa ilgili hatayı vermiş olur: Conversion failed when converting the varchar value ‘VALUE_STRING’ to data type int.
SELECT sütun1 +' '+ sütun2 FROM [sema_adi].[tablo_adi];
Örnek:
SELECT[FirstName] + ' '+ [LastName] as Isım_SoyIsım
FROM [AdventureWorks2017].[Person].[Person]

Farklı tip kolonları birleştirmek için aşağıdaki komutlar kullanılmaktadır.
SELECT[FirstName] + ' '+ [LastName] + ModifiedDate
FROM [AdventureWorks2017].[Person].[Person]
Kolon türleri farklı olduğu için aşağıdaki hata mesajıyla karşılaşırız.
Msg 241, Level 16, State 1, Line 1
Conversion failed when converting date and/or time from character string.
Tür dönüşüm operatörü olan convert ve cast işlemiyle İlgili tarih kolonuna tür dönüşümü yapalım.
SELECT[FirstName] + ' '+ [LastName] +'-----'+ cast(ModifiedDate as varchar) FROM [AdventureWorks2017].[Person].[Person]
SELECT[FirstName] + ' '+ [LastName] +'-----'+ convert(varchar,ModifiedDate) FROM [AdventureWorks2017].[Person].[Person]
SELECT komutları, MSSQL Server’ın en güçlü özelliklerinden biridir ve doğru şekilde kullanıldığında, veritabanından en etkili şekilde veri almanızı sağlar. Bu komutların farklı varyasyonlarını anlamak ve uygulamak, veri yönetimi ve analiz becerilerinizi önemli ölçüde geliştirecektir.
NOT: Aşağıdaki komut ile veritabanı altında bulunan bir kullanıcının default şemasını değiştirebilirsiniz. Artık ilgili kullanıcı login olduktan sonra bir tablo oluşturmak istediğinde a.table_name şeklinde olacaktır.
USE [AdventureWorks2017]
GO
ALTER USER [User_Name] WITH DEFAULT_SCHEMA=[a]
GO
Başka Makalede görüşmek dileğiyle..
“Şüphesiz güçlükle beraber bir kolaylık vardır. Gerçekten, güçlükle beraber bir kolaylık vardır.” İnşirah 5-6. Ayet