SQL Like komutunun amacı bir alandaki bilgileri belirli bir düzene göre aramaktır. LIKE operatörü, = (eşittir) operatörünün aksine joker karakterler yardımı ile belirtilen alanda eşleşen kayıtları getirir.
SQL Like deyimi ile şu joker karekterler kullanılabilir.
SQL Joker Karakterler (WildeCards)
Joker karakterler bir yada daha fazla harf yerine geçmesi için kullanılan özel sembollerdir. Sadece LIKE operatörü ile birlikte kullanılır. SQL Like kullanımında joker karakterler; genellikle belirli bir harf ile başlayan, belirli bir harf geçen, belirli bir harf ile biten sorgulamalar da kullanılırlar.
% | Birden fazla harf ve rakamın yerini tutar. |
_ | Bir tek harf ve rakamın yerini tutar. |
[HARF] | Her hangi bir harf yerine geçecek harf/ harfleri belirtir. |
[^HARF] | Her hangi bir harf yerine geçmeyecek harfleri belirtir. |
[A-Z] | A-Z arasındaki harfleri belirtir. |
SQL LIKE kullanımı ile ilgili bu açıklayıcı bilgilerden sonra LIKE Kullanımını içeren örneklere bir bakalım.
SQL LIKE Örnekleri
Örnek 1: İçinde masa geçen ürünleri listeleyin. (İçinde masa geçtiğine göre başında ve sonunda özel karakter kullanmak gerekiyor.)
1 2 3 4 5 |
SELECT urunno,urunad,birimfiyat FROM urunler WHERE urunad LIKE '%masa%' |
Örnek 2: Adının ilk harfi S olan öğrencileri listeyiniz. (İlk harften sonra kaç karakter olacağı ve ne olacağı ile bilgili olmadığı için S sembolünden sonra joker karakter kullanılacak)
1 2 3 4 5 |
SELECT ogrno,ograd,ogrsoyad,sinif FROM ogrenciler WHERE ograd LIKE 'S%' |
Örnek 3: Sondan üçüncü harfi a olan ürünleri listeleyin. (Başında ne oluğu belli olmadığı için %, sonra a harfi, son iki karakter içinde _ (alt tire) kullanılacak)
1 2 3 4 5 |
SELECT ogrno,ograd,ogrsoyad,sinif FROM ogrenciler WHERE ograd LIKE '%a__' |
Örnek 4: Adı A,R veya K ile başlayan öğrencileri listeleyin.
1 2 3 4 5 |
SELECT ogrno,ograd,ogrsoyad,sinif FROM ogrenci WHERE ograd LIKE '[ARK]%' |
Örnek 5: Adı D ile M arasındaki harfler ile başlayan öğrencileri listeleyin.
1 2 3 4 5 |
SELECT ogrno,ograd,ogrsoyad,sinif FROM ogrenci WHERE ograd LIKE '[D-M]%' |
Örnek 6: Adı A,P veya R ile bitmeyen öğrencileri listeleyin. (Not sitedeki kutuphane veritabanı kullanıyorsanız. kareterlerin sonunda sabit boşluk olduğunu unutmayın.)
1 2 3 4 5 |
SELECT ogrno,ograd,ogrsoyad,sinif FROM ogrenci WHERE ograd LIKE '%[^APR]' |
Örnek 7: İkinci harfi N olan kitapları listeleyiniz.
1 2 3 4 |
select * from kitap where kitapadi like '_n%' |
Örnek 8: Öğrenci tablosundaki soyadı 4 karakterli olup ilk üç karakteri UÇA olan kayıtları listeleyin
1 2 3 |
SELECT * FROM ogrenci WHERE ogrsoyad like "UÇA_" |
Örnek 9: Öğrenci tablosundaki soyadı UÇA ile başlayıp N yada R ile biten sorguları getirin.(UÇAN, UÇAR olanlar)
1 2 3 |
SELECT * FROM ogrenci WHERE ogrsoyad like "UÇA[RN]" |