Veysel Uğur KIZMAZ

SQL ile Veritabani Programlama - 1

16.06.2012Okunma Sayısı: 4556Kategori: T-SQL

Bir veritabani uygulamasinda veritabani olusturulduktan sonra ilk bilinmesi gereken, veritabanindaki verileri sorgulayabilmektir.

Veritabanindaki verileri istedigimiz sekilde alabilir, güncelleyebilir, yeni veriler ekleyebiliriz. Öncelikle bir veritabanindaki veriyi alma islemini inceleyelim. Verilerimizi seçme islemi için SELECT anahtar kelimesini kullanacagiz. Simdi temelden baslayarak SELECT komutunu inceleyelim:

Öncelikle örnek iki tablo olusturalim, uygulamalarimizi bu tablo üzerinden çalistiralim.

Yapisi:
SELECT sutunadi FROM tabloadi
Bu sorgu ile "tabloadi" isimli tablonun, "sutunadi" isimli sütunundaki bütün verileri görebiliriz. Örnegin, "ogrenci" tablosundaki adi, kayittarihi ve eposta bilgilerini alalim:
SELECT adi,kayittarihi, eposta FROM ogrenci
------------------------------------------------------------------------------------
SELECT * FROM tabloadi
 
Tablodaki bütün kayitlari görmek istiyorsak tablo isminin yazilacagi yere * yazmaktayiz. Örnegin "ogrenci" tablosundaki tüm kayitlari alalim:
 
SELECT * FROM ogrenci
------------------------------------------------------------------------------------
SELECT * FROM tabloadi WHERE sutunadi = deger
 
Tablodaki kayitlari seçerken sadece belirli özelliklere sahip kayitlari almamiz yeterli olabilir. Bunun için WHERE yapisi kullanilmalidir. Örnegin "ogrenci" tablosundaki tüm kayitlardan "danismanid"si 1 olan kayitlari alalim:
 
SELECT * FROM ogrenci WHERE danismanid = 1
------------------------------------------------------------------------------------
SELECT * FROM tabloadi WHERE sutunadi = deger AND sutun2adi = deger2
SELECT * FROM tabloadi WHERE sutunadi = deger OR sutun2adi = deger2
 
WHERE ile filtreleme yapilirken birden çok kontrol ifadesi kullanmak isteyebiliriz. Bu kontrol ifadelerini birlestirmek için AND veya OR anahtar kelimeleri kullanilir:
 
SELECT * FROM ogrenci WHERE danismanid = 1 AND kayittarihi < '01.01.2009'
Bu kod ile "danismanid"si 1 olan ve "kayittarihi" 01.01.2009 tarihinden önce olan bütün kayitlari alir. Iki durumun da dogru olmasi gerekir.
 
SELECT * FROM ogrenci WHERE danismanid = 1 OR kayittarihi < '01.01.2009'
Bu kod ile "danismanid"si 1 olan veya "kayittarihi" 01.01.2009 tarihinden önce olan bütün kayitlari alir. Iki durumdan birinin olmasi yeterlidir.
------------------------------------------------------------------------------------
SELECT DISTINCTsutunadi FROM tabloadi 
 
Bu sorgu ile "tabloadi" isimli tablonun "sutunadi" isimli sütununda bir kayittan birden fazla varsa bir tanesini alir.
 
SELECT DISTINCT bolumid FROM ogrenci 
------------------------------------------------------------------------------------
SELECT * FROM tabloadi WHERE sutunadi BETWEEN deger1 AND deger2
 
BETWEEN ile bir araligi sorgulayabiliriz. Örnegin 01.01.2008 ile 01.01.2009 arasinda kayit yaptirmis ögrencileri alalim:
 
SELECT * FROM ogrenci WHERE kayittarihi BETWEEN '01.01.2008' AND '01.01.2009
------------------------------------------------------------------------------------
 
 
 
Veysel Ugur KIZMAZ