SQL LIKE İŞARETLERİNİN Kullanımı
SQL LIKE İŞARETLERİNİN Kullanımı
LIKE operatörü tablomuzda bulunan kayıtlardan belirttiğimiz kriterler uygun olanları seçmek için kullanılır. Ancak bazı durumlarda farklı ihtiyaçlar söz konusu olabilir. Bu tip bir durumda LIKE ifadesinden sonra bazı özel işretler kullanılarak istenilen sonuçlara ulaşılabilir.
LIKE İşaretleri Tablosu
İşaret | Açıklaması |
% | Birden çok karakterin yerine kullanılır |
_ | Sadece bir karakterin yerine kullanılır. |
[karakter_listesi] | Köşeli parantez ile belirtilen harf listesi % işareti ile kullanılır. |
LIKE bir operatördür ve WHERE ile kullanılır. Yani eşittir, büyüktür veya küçüktür işareti yerine kullanılır.
Örnek Tablo Uygulaması:
Örnek olarak aşağıdaki gibi Personel isimli tablomuz olsun.
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | İzmit | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | İzmir | Finans Yöneticisi | 3456789 |
4 | İlhan ÖZLÜ | İstanbul | Muhasebe | 7765677 |
Örnek1:
SELECT *
FROM Personel
WHERE Sehir LIKE 'İ%'
Bu örnekte Sehir alanında İ harfi ile başlayan kayıtlar seçilmiştir. % işareti İ harfinden sonra kalan karakteri temsil eder. Yani bu sorgunun anlamı: Sehir alanındaki verilerden İ harfi ile başlayan kayıtları seç.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
3 | İlhan ÖZLÜ | İstanbul | Muhasebe | 7765677 |
Örnek2:
SELECT *
FROM Personel
WHERE Bolum LIKE '%Yönetici%'
Bu kodda Bolum alanının herhangi bir yerinde (başında, ortasında veya sonunda) Yönetici kelimesini seçecektir.
Çıktısı:
2 | Ayhan ÇETİNKAYA | İzmit | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | İzmir | Finans Yöneticisi | 3456789 |
ÖNEMLİ BİLGİ: NOT kelimmesi ile belirtilen değere sahip olmayan kayıtlar seçilir
Örnek3:
SELECT *
FROM Personel
WHERE Bolum NOT LIKE '%Yönetici%'
Bu kod Bolum alanının herhangi bir yerinde Yönetici yazmayan kayıtları seçer.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
4 | İlhan ÖZLÜ | İstanbul | Muhasebe | 7765677 |
Örnek4:
SELECT *
FROM Personel
WHERE Sehir LIKE 'İzmi_'
Bu kod Sehir alanının İzmi ile başlayan ve son harfi ne olursa olsun farketmeyen kayıtları seçer.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
2 | Ayhan ÇETİNKAYA | İzmit | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | İzmir | Finans Yöneticisi | 3456789 |
Örnek5:
SELECT *
FROM Personel
WHERE Adi_soyadi LIKE '[S,A]%'
Bu kod Adi_soyadi alanındaki ilk harfi S veya A ile başlayan kayıtları seçer. Son kayıt İ harfi ile başladığı için seçilmemiştir.
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
1 | Salih ESKİOĞLU | İstanbul | Bilgi İşlem Sorumlusu | 1234567 |
2 | Ayhan ÇETİNKAYA | İzmit | İdari İşler Yöneticisi | 2345678 |
3 | Serkan ÖZGÜREL | İzmir | Finans Yöneticisi | 3456789 |
Örnek6:
SELECT *
FROM Personel
WHERE Adi_soyadi LIKE '[A-K]%'
Bu kod Adi_soyadi alanındaki, ilk harfi A ile K harfleri arasında ki herhangi bir harf ile başlayan kayıtları seçer. Bu koda uyan sadece bir kayıt vardır. Adi_soyadi alanındaki diğer kayıtlar S ve İ ile başladığından dolayı
Çıktısı:
id | Adi_soyadi | Sehir | Bolum | Meslek_Kodu |
2 | Ayhan ÇETİNKAYA | İzmit | İdari İşler Yöneticisi | 2345678 |