ANASAYFA | BLOG | SORU CEVAP | REFERANSLARIM | DOWNLOAD | HAKKIMDA | İLETİŞİM | ARAMA
SQL SELECT KOMUTU ile VERİ ÇEKME İŞLEMLERİ

SELECT deyimi, SQL de tablodan veri çekme-seçme komutudur. Bu komut ile belirli kolonlari yada bütün kolonlari çekebiliriz. Genel hatlari ile SELECT ifadesinin kullanimina bakacak olursak;

SELECT   [Seçtigimiz kolonlar]   FROM   [Tablo isimleri]

id ad soyad tel sehir yas
1 Faruk ÜNAL 05369333629 Eskisehir 21
2 Emre ÜNAL 05541234567 Istanbul 19
3 Fatih ADEM 05051234567 Ankara 37
4 Emre ÇINAR 05377654321 Ankara 23
5 Osman BILGIN 02225554433 Eskisehir 51
6 Mustafa SAYGI 05061112233 Isparta 43

FK-gizle

Üstteki tablo üzerinde SELECT ifadesinin farkli örneklerini inceleyecegiz. Tabloda 6adet satir ve 6adet kolon bulunmaktadir. Kolon isimleri (id, ad, soyad ,tel, sehir, yas) üst kisimda belirtilmektedir. SELECT ifadesi ile bu kolon isimlerini kullanacagiz. Üstteki tablomuzun ismi -tbKisiler- tablosudur. Simdi örneklere geçelim.

 

Tek Kolondan Veri Çekme

SELECT ad FROM tbKisiler

ad
Faruk
Emre
Fatih
Emre
Osman
Mustafa

 Seçtigimiz -ad- kolonuna ait bütün veriler listelendi

 

Birden Çok Kolondan Veri Çekme

SELECT ad,soyad FROM tbKisiler

 Seçmek istedigimiz kolon isimlerini art arda aralarinda virgül olacak sekilde yaziyoruz. Sorgumuzun dönütü asagidaki gibi olacaktir.

ad soyad
Faruk ÜNAL
Emre ÜNAL
Fatih ADEM
Emre ÇINAR
Osman BILGIN
Mustafa SAYGI

 

Tüm Kolonlari Çekme

SELECT * FROM tbKisiler

 Seçtigimiz tablodaki bütün kolonlarin listelenmesini saglar.

id ad soyad tel sehir yas
1 Faruk ÜNAL 05369333629 Eskisehir 21
2 Emre ÜNAL 05541234567 Istanbul 19
3 Fatih ADEM 05051234567 Ankara 37
4 Emre ÇINAR 05377654321 Ankara 23
5 Osman BILGIN 02225554433 Eskisehir 51
6 Mustafa SAYGI 05061112233 Isparta 43

Ayni listeyi bütün kolon isimlerini asagidaki gibi tek tek yazarak da elde edebilirdik

SELECT id,ad,soyad,tel,sehir,yas FROM tbKisiler

Tüm kolon isimlerinin hatirlanmadigi durumlarda * ile veri çekmek isinizi oldukça kolaylastiracaktir ama çok fazla tercih etmemenizi tavsiye ederim. Özellikle projelerinizdeki sorgularinizda mümkün oldugunca * ile veri çekmekten kaçinmalisiniz. projenin ilerki asamalarinda tablonuza yeni kolonlar eklemeniz gerektiginde yada bilerek veya bilmeyerek kolonlarin yerini degistirdiginizde projenizdeki sorgunun sonucu da degisecektir ama eger her kolon adini elle yazarsaniz bu sekilde dogacak sorunlari engellemis olursunuz.

 

Kolonlari Birlestirerek Çekme

Kolonlar üzerine + isareti ile birlestirme yapabiliriz. Sayisal olarak iki kolon arasi bu isareti koydugumuzda bu iki sayinin toplamini tek bir kolona getirir. Metin olan iki kolon arasinda + isareti koydugumuzda ise bu iki kolonu yan yana yazar, Mesela

SELECT ad+' '+soyad FROM tbKisiler

dedigimizde ad kolonu ve ardindan bir karakter bosluk birakip soyad kolonunu getirecektir. Sorgunun çektigi veri asagidadir.

Column1
Faruk ÜNAL
Emre ÜNAL
Fatih ADEM
Emre ÇINAR
Osman BILGIN
Mustafa SAYGI

Gördügünüz gibi ad ve soyad bilgileri tek bir kolonda toplandi. Dikkatinizi çekmis olabilir kolon adi Column1 oldu, iki kolon ve disaridan karakter girdigimiz için veritabaninda olmayan bir kolon seçmis olduk ve sistem bunu kendisi adlandirdi. Burada yeri gelmisken bahsedeyim kolon isimlerini de sorgularda nasil görünecegini kendimiz belirleyebiliyoruz ve buna Takma isim -Alias- diyoruz. Seçecegimiz kolon adini yazdiktan sonra:

  • AS kelimesi ve 'YENI ISIM' seklinde
  • [YENI ISIM] seklinde

kullanabiliriz. Üstteki sorguya birde bu sekilde bakalim.

SELECT ad+' '+soyad [Ad SOYAD] FROM tbKisiler

Ad SOYAD
Faruk ÜNAL
Emre ÜNAL
Fatih ADEM
Emre ÇINAR
Osman BILGIN
Mustafa SAYGI

Gördügünüz gibi kolon adinida degistirmis olduk. Baska bir örnege daha bakacak olursak;

SELECT id [NO],ad[ADI],soyad AS 'SOYADI' FROM tbKisiler

NO ADI SOYADI
1 Faruk ÜNAL
2 Emre ÜNAL
3 Fatih ADEM
4 Emre ÇINAR
5 Osman BILGIN
6 Mustafa SAYGI

Hem [] ile hemde AS ile kolon isimlerini degistirmis olduk.

 

Ilk n Satiri Çekme

Üstteki yaptigimiz örneklerdeki bütün SELECT ifadelerinde elimizdeki bütün veriyi çekip listelemis olduk. Eger hepsini degilde belli bir sayida veriyi çekmek istiyorsak SELECT TOP n ifadesini kullaniriz.

SELECT TOP 3 * FROM tbKisiler

id ad soyad tel sehir yas
1 Faruk ÜNAL 05369333629 Eskisehir 21
2 Emre ÜNAL 05541234567 Istanbul 19
3 Fatih ADEM 05051234567 Ankara 37

Gördügünüz gibi toplamda normalde 6 satirlik verimiz varken, TOP 3 ifadesi ile ilk 3 satiri çekmis olduk.

Ayni sekilde bu islemi % li olarak da yapabiliriz. Bunun için ise TOP n PERCENT ifadesini kullaniriz

SELECT TOP 50 PERCENT * FROM tbKisiler

 

Tekrarsiz Verileri Çekme - DISTINCT

DISTINCT ifadesi ile kolondaki verileri çektiginizde ayni veri tekrar etmez. Böylelikle örnegin hangi illerden müsterileriniz olduguna bakmak istediginizde ayni sehirler tekrar tekrar listelenmemis olurlar. Yada hangi GSM firmalariini kullandiklarini ögrenmek için bir sorgu yaptiginizda ayni veriler tekrar tekrar listelenmemis olur. Bizde hangi illerden kisiler olduguna bir bakalim. Öncelikle normal olarak bi göz atalim.

SELECT sehir FROM tbKisiler

sehir
Eskisehir
Istanbul
Ankara
Ankara
Eskisehir
Isparta

Toplamda 6 veri listelendi, Simdi birde DISTINCT ile bakalim

SELECT DISTINCT sehir FROM tbKisiler

sehir
Ankara
Eskisehir
Isparta
Istanbul

Gördügünüz gibi tekrar eden sehirler artik tekrar etmiyorlar ve her sehir yalniz bir kez listeleniyor.

Eger sorgumuzda birden çok kolonu seçip o sekilde DISTINCT kullanmak istersek seçmek istedigimiz kolonlardaki veriler yan yana getirilerek tek bir satir gibi düsünülür ve seçili kolonlar için tamamen ayni olan satirlar var ise o satirlar listelenmez.




Diğer Yazılarımdan Seçmeler...