SQL LIKE Nedir? Kullanımı Nasıldır? Örneklerle Anlatım
SQL LIKE komutu, bir sütundaki belirli bir veriyi aramak için bir WHERE koşuluyla kullanılır.
Genellikle LIKE komutu ile birlikte kullanılan iki joker karakter vardır:
%- Yüzde işareti sıfır, bir veya birden çok karakteri temsil eder.
_ - Alt çizgi tek bir karakteri temsil eder.
SQL LIKE kullanımı şu şekildedir.
SELECT sütun1, sütun2, ...
FROM tablo_adi
WHERE sütunN LIKE şablon;
NOT: Yukarıda anlaşılır olması için türkçe karakter kullanılmıştır.Kod yazımlarında Türkçe karakter kullanmayınız.
Ayrıca AND ve OR operatörleri kullanılarak birden fazla koşulu birlieştirebiliriz.
Aşağıda, farklı LIKE komutlarının ‘%’ ve ‘_’ joker karakterleriyle gösterilmiş örnekler vardır.
LIKE komutları |
Açıklama |
WHERE Soyad LIKE 'a%' |
“a” ile başlayan tüm verileri bulur. |
WHERE Soyad LIKE '%a' |
“a” ile biten tüm verileri bulur. |
WHERE Soyad LIKE '%or%' |
Herhangi bir konumda “or” bulunan verileri bulur. |
WHERE Soyad LIKE '_r%' |
İkinci konumda “r” bulunan tüm verileri bulur. |
WHERE Soyad LIKE 'a_%' |
“a” ile başlayan ve en az 2 karakter uzunluğunda olan tüm verileri bulur. |
WHERE Soyad LIKE 'a__%' |
“a” ile başlayan ve en az 3 karakter uzunluğunda olan tüm verileri bulur. |
WHERE Soyad LIKE 'a%o' |
“a” ile başlayan ve “o” ile biten tüm verileri bulur. |
Örnek veritabanı üzerinde gösterelim.
KullaniciID |
Ad |
Soyad |
Adres |
Sehir |
Postakodu |
Ulke |
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
İstanbul |
34000 |
Türkiye |
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Artvin |
08300 |
Türkiye |
3 |
John |
Doupoint |
Claremont Rd no:8/3 |
Newcastle |
NE2 4AA |
İngiltere |
4 |
Gustavo |
Alfaro |
Cuero y Caicedo, Quito |
New York |
170129 |
Amerika |
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Moskova |
Jh09010 |
Rusya |
6 |
Xiao |
Chu |
Unnamed Road |
Pekin |
Jk07320 |
Çin |
7 |
Osman |
Ebuselim |
Shara Zaviya Dahmani PO:928 |
Doha |
243512 |
Katar |
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
SQL LIKE Örnekleri
Aşağıda SQL komutu “a” ile başlayan Musteriler tablosundaki isimleri bulur.
SELECT * FROM Musteriler
WHERE Ad LIKE 'a%';
Sonuç çıktısı:
5 |
Abel |
Gigli |
Dagmada Waaberi 324/5 |
Moskova |
Jh09010 |
Rusya |
Aşağıda SQL komutu “a” ile biten Musteriler tablosundaki isimleri bulur.
SELECT * FROM Musteriler
WHERE Ad LIKE '%a';
Sonuç çıktısı:
1 |
Safa |
Dedeoğlu |
Necmettin Erbakan Cad. no 8/1 |
İstanbul |
34000 |
Türkiye |
Aşağıda SQL komutu herhangi bir konumda “at” harfleri bulunan Musteriler tablosundaki isimleri bulur.
SELECT * FROM Musteriler
WHERE Ad LIKE '%at%';
Sonuç çıktısı:
2 |
Fatih |
Turab |
İskele Cad. hastane sok. |
Artvin |
08300 |
Türkiye |
Aşağıda SQL komutu ikinci konumda “r” bulunan tüm verileri bulur.
SELECT * FROM Musteriler
WHERE Ad LIKE '_r%';
Sonuç çıktısı:
8 |
Frank |
Walter |
Trudering-Riem 326/3 |
Münih |
81825 |
Almanya |
SQL NOT LIKE komutu
Seçili koşulları bulmak gibi koşulları sağlamayan verileri bulmakta mümkündür. Bunu sağlayan SQL komut dizisi aşağıdadır.
Aşağıda SQL komutu “a” ile başlamayan Musteriler tablosundaki isimleri bulur.
SELECT * FROM Musteriler
WHERE Ad NOT LIKE 'a%';