SQL WHERE yan cümlesi, verileri tek bir tablodan getirirken veya birden çok tabloyu katılarak bir koşul belirtmek için kullanılır. Verilen koşul WHERE ile eşleşirse, o zaman tablodan belirli bir değer döndürür. Yani kayıtları filtrelemek ve yalnızca gerekli kayıtları almak için WHERE yan cümlesini kullanmalısınız.
WHERE yan cümlesi yalnızca SELECT deyiminde kullanılmaz, aynı zamanda UPDATE, DELETE deyimleri ile de kullanılır. Bu yazıda ağırlıklı olarak SELECT WHERE şeklinde kullanılacak olsak da DELETE ve UPDATE ile kullanımlarını açıklayıp bir kaç tane örnek vereceğiz.
Bu yazıdaki örnekler yeterli olmazsa çok sayıda örneğin olduğu SQL Çalışma Soruları yazısını incelemenizi tavsiye ederim. Ayrıca diyer SQL Komutları ve SQL Deyimleri için SQL başlığı altındaki kategori de ilginizi çekecektir.
SQL SELECT WHERE Kullanımı : SELECT WHERE deyimi, belirtilen şarta göre kayıtları süzmek ve yalnızca gerekli kayıtları almak kullanılır.
1 2 3 4 5 |
SELECT DISTINCT sutun1, sutun2, ...., sutunN FROM tablo_adi WHERE sart_ifadesi |
SQL UPDATE WHERE Kullanımı : SQL UPDATE İfadesi, tablodaki veri/verileri güncellemek için kullanılır.
1 2 3 4 5 |
UPDATE tablo_adi SET sutun1= deger1, sutun2= deger2, ...., sutunN=degerN [ WHERE ŞART] |
SQL DELETE WHERE Kullanımı : SQL DELETE İfadesi, veritabanından kayıt yada kayıtları silmek için kullanılır.
1 2 3 4 |
DELETE FROM tablo_adi WHERE {şart} |
Ayrıca SQL WHERE yan cümlesi bir çok anahtar kelime ile birlikte kullanılır. Bu anahtar kelimelerden bazı önemli olanları şunlardır.
AND / OR, IN, NOT IN, BETWEEN, LIKE,
SQL WHERE Örnekleri
Örnek 1: Musteri tablosundaki adı Yaren olan kayıtları listeleyin
1 2 3 |
SELECT * FROM Musteri WHERE Ad="Yaren" |
Örnek 2: Müşteri tablosundaki adı Yaren olmayan kayıtları listeleyin
1 2 3 |
SELECT * FROM Musteri WHERE Ad <> "Yaren" |
Bazı SQL yönetim programlarında != kullanılır.
Örnek 3: Müşteri tablosundaki soyadı “U” işe başlayan müşterileri listeleyin
1 2 3 |
SELECT * FROM Musteri WHERE Soyad like "U%" |
Örnek 4: Öğrenci tablosundaki cinsiyeti kız (K) olan kayıtları listeleyiniz.
1 2 3 |
select * from ogrenci where cinsiyet='K' |
Örnek 5: Öğrenci tablosundaki cinsiyeti Kız ve Sınıfı 10A olan öğrencileri listeleyiniz.
1 2 3 |
select * from ogrenci where cinsiyet='K' and sinif='10A' |
Örnek 6: Öğrenci tablosundaki 10A veya 10B sınıfındaki öğrencilerin adını, soyadını ve sınıfını listeleyiniz.
1 2 3 4 |
select ograd, ogrsoyad, sinif from ogrenci where sinif='10A' or sinif='10B' |
Örnek 7: kitap tablosundaki sayfa sayısı 50 ile 200 arasında olan kitapların adını ve sayfa sayısını listeleyiniz.
1 2 3 |
select * from kitap where sayfasayisi between 50 and 200 |
Örnek 8: Öğrenci tablosunda adı Fidan, İsmail ve Leyla olan öğrencileri listeleyiniz.
1 2 3 |
select * from ogrenci where ograd in ('Fidan','İsmail','Leyla') |
Örnek 9: Öğrenci tablosundaki sınıfı 9A olan Erkekleri veya sınıfı 9B olan kızların adını, soyadını, sınıfını ve cinsiyetini listeleyiniz.
1 2 3 4 |
select ograd,ogrsoyad,sinif,cinsiyet from ogrenci where (sinif='9A' and cinsiyet='E') or (sinif='9B' and cinsiyet='K') |
Örnek 10: 25 numaralı yazarı silin.
1 2 3 |
delete from yazar where yazarno=25 |
Örnek 11: 10B sınıfındaki öğrenci numarası 3 olan öğrenciyi 10C sınıfına geçirin.
1 2 3 |
update ogrenci set sinif='10C' where ogrno=3 |
Örnek 12: 9A sınıfındaki tüm öğrencileri 10A sınıfına aktarın
1 2 3 4 5 6 |
update ogrenci set sinif='10A' where sinif='9A' --sorguyu görüntülemek için yazıldı select * from ogrenci where sinif='10A' |
Örnek 13: Sayfa sayısı 100’den az olan kitapların yazarlarını siliniz.
1 2 3 |
Delete from yazarlar where yazarno in (Select yazarno from kitap where sayfasayisi <100) |
Add Comment