SQL WHERE Kullanımı

Hiç yorum yok
WHERE ifadesi tablodaki alanlarda okuma, güncelleme, silme gibi işlemleri yaparken belli kriterlere sahip kayıtlar üzerinde işlem yapmamızı sağlar. Where ifadesi belirtilmezse uygulanan komut bütün kayıtlar üzerinde geçerli olur. Mesela bir kaydı silmek istediğimiz zaman Where ifadesini kullanmazsak tablodaki bütün kaıtları silecektir.

Where Kullanım Biçimi
SELECT  alan_adi1,alan_adi2
FROM tablo_adi
WHERE alan_adi=sorgu_degeri
İlk bakışta kod biraz karışık görünebilir. Açıklayacak olursak;
SELECT ifadesi ile sorgunun bir seçme yani veritabanından okuma işlemi yapacağımız belirtmiş olduk. Sonrasında ise hangi alanlarda okuma yapacağımızı belirtiyoruz. Eğer silme işlemi yapacaksak select ifadesi yerine Delete ifadesi kullanılmalıdır.
FROM ifadesi ile veritabanı içindeki hangi tabloda işlem yapılacağı belirtiliyor.
WHERE ifadesi ile yapmak istediğimiz işlem (seçme, silme vs.) için gerekli parametreleri belirteceğimiz bölüm başlıyor.
Where ifadesinin hemen ardından hangi alandaki kritere göre işlem yapacaksan o alan adını yazıyoruz. sorgu_degeri ifadesi ile seçtiğimiz alandaki veri değerini giriyoruz.

Burada eşittir işareti yerine başka operatör işaretleride kullanılabilir. Mesele belli bir sayıdan büyük veya küçük olması durumlarına göre sorgulama yapılabilir. Veya iki tarih arası sorgulama yapılabilir. Aşağıdaki örneklerde detaylı olarak anlatılmıştır. Sayfanın sonunda eşittir dışındaki operatörleri ve ne işe yaradıkları tabloyu inceleyebilirsiniz.

Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
2Ayhan ÇETİNKAYAKocaeliİdari İşler Yöneticisi2345678
3Serkan ÖZGÜRELErzincanMuhasebe3456789
4İlhan ÖZLÜİstanbulBİlgi İşlem Sorumlusu2345678

Örnek1:

SELECT * FROM Personel WHERE Sehir='İstanbul'

Bu kod ile tablodaki Sehir alanında İstanbul bulunan kayıtları alır. Burada dikkat edilmesi gerek nokta Bolum alanı metinsel alan olduğu için eşittir işaretinden sonra aranmak istenen ifade tek tırnak işareti içinde yazılmıştır. Bazı veritabanı editör uygulamaları çift tırnak işareti kullanabilir.
Çıktısı:
idAdi_soyadiSehirBolumMeslek_Kodu
1Salih ESKİOĞLUİstanbulBilgi İşlem Sorumlusu1234567
4İlhan ÖZLÜİstanbulBİlgi İşlem Sorumlusu2345678


Örnek2:Delete  FROM Personel Where id=1

Bu örnekte Personel tabosundan silme işlemi yapılmaktadır. Normalde Select ifadesinden sonra hangi alanlarda işlem yapacağımızı belirtirdik. Ancak Delete komutu alanlarda işlem yapmaz ve direk olarak ilgili kaydı siler. Bu örnekte id alanında 1 yazan kaydın silinmesini belirttik. Genellikle kullanım kolaylığı açısından id alanları tabloda sayısal alan olarak işaretlenir. Sayısal alanlarda işlemler tırnak işareti olmadan yapılır. Aynı şekilde delete yerine select kullanarak kaydı seçtiğimizi varsaysak bile id alanı sayısal alan olduğu için tırnak işaretleri kullanılmaz.
Operatör işaretleri tablosu:
OperatörAçıklamasıKullanım ÖrneğiÖrnek Açıklaması
=Belirtilen değeri belirtilen adanda ararWhere Bolum='Bilgisayar'Bolum alaninda Bilgisayar yazan kayıtları seçer
<>Belirtilen değer dışındaki kayıtları ararWhere Bolum<>'Bilgisayar'Bolum alaninda Bilgisayar yazmayan kayıtları seçer.
>Belirtilen değerden büyük kayıtları arar.Where Maas>1000Maaşı 1000 TL nin üstünde olanları seçer. (1001 TL ve yukarısı)
>=Belirtilen değere eşit ve büyük olanları arar.Where Maas>=1000Maaşı 1000 TL ve üstünde olanları seçer. (1000 TL ve üstü)
<Belitilen değerden küçük olanları ararWhere Maas<750Maaşı 750 TL nin altında olanları seçer. (749 TL ve altı)
<=Belirtilen değere eşit ve küçük olanları ararWhee Maas<=750Maaşı 750 TL ve altında olanları seçer. (750 TL ve altı)
BetweenBelli bir aralıkta olan değerleri ararWhere Maas Between 750 and 1000Maaşı 750 TL ile 1000 TL arasında olanları seçer.
LikeBirkaç karakteri bilinen kayıtları ararWhere Sehir Like 'S%'Sehir alanında S ile başlayan kayıtları seçer.
InBirden fazla değerleri tek alanda arar.Where Sehir in ('İstanbul','Ankara')Sehir alanında İstanbul ve Ankara yazan kayıtları seçer.
Not: Between, Like ve IN operatörlerinin kullanımını detaylı olarak konu başlıklarında incelenmiştir.

Hiç yorum yok :

Yorum Gönder