Harun Reşit Zafer

Bâki kalan bu kubbede bir hoş sadâ imiş

SQL 08: LIKE İşleci (Operatörü) - 1

Like (layk diye okunur) kelimesinin buradaki anlamının “gibi” olduğunu en baştan bilirsek gerisini anlamamız çok daha kolay olacaktır. LIKE işleci (operatörü) belirtilen özelliklere uygun metinlerin bulunması için kullanılan, oldukça faydalı ve sık kullanılan bir işleçtir. Bu yüzden konunun üzerinde ayrıntılı olarak duracağım.

SQL LIKE Sözdizimi (Syntax)

SELECT kolon_adı(ları)
FROM tablo_adı
WHERE kolan_adı LIKE 'desen' (pattern)

Yukarıda geçen desen (pattern) kavramını örneklerden sonra daha iyi anlayacaksınız.

Not: Bu arada diğer SQL derslerine buradan ulaşabilirsiniz

Örnek sorgularımız için kullanacağımız Uyeler tablosu:

uye_adi isim soyisim e-posta cinsiyet
hrzafer Harun Reşit Zafer [email protected] E
derya.z Derya Zaimoğlu [email protected] K
meryem1990 Meryem Arkadaş [email protected] K
eaydin Emir Aydın [email protected] E
denizeri Levent Denizeri [email protected] E

Örnek-1: Soyadı “Z” harfi ile başlayan üyeleri seçmek istiyoruz

SELECT * FROM uyeler 
WHERE soyisim LIKE 'Z%'

Sorgumuzun çıktısı aşağıdaki gibi olacaktır:

uye_adi isim soyisim e-posta cinsiyet
hrzafer Harun Reşit Zafer [email protected] E
derya.z Derya Zaimoğlu [email protected] K

Burada desen olarak Z% ifadesini kullandık. Ve bu ifadeyi tek tırnak içerisinde yazdık. Bu desenin anlamı avamca “ilk harfi büyük Z olmalı gerisi ise herşey olabilir” demek.

Örnek-2: Adının son harfi “t” olan üyeleri seçelim:

SELECT * FROM uyeler
WHERE isim LIKE '%t'

Sorgumuzun çıktısı aşağıdaki gibi olacaktır:

uye_adi isim soyisim e-posta cinsiyet
hrzafer Harun Reşit Zafer [email protected] E
denizeri Levent Denizeri [email protected] E

Örnek-3: İsminin içerisinde “er” ifadesi geçen üyeleri bulalım:

SELECT * FROM uyeler
WHERE isim LIKE '%er%'

Sorgumuzun çıktısı aşağıdaki gibi olacaktır:

uye_adi isim soyisim e-posta cinsiyet
derya.z Derya Zaimoğlu [email protected] K
meryem1990 Meryem Arkadaş [email protected] K

% karakterinin sıfır, bir yada daha çok karakterin yerine geçebilen bir joker karakter (wildcard) olduğu herhalde örneklerden anlaşılmıştır.

Örnek-4: Şimdi de isminin içerisinde “er” ifadesi geçmeyen üyeleri bulalım:

SELECT * FROM uyeler
WHERE isim NOT LIKE '%er%'

uye_adi isim soyisim e-posta cinsiyet
hrzafer Harun Reşit Zafer [email protected] E
eaydin Emir Aydın [email protected] E
denizeri Levent Denizeri [email protected] E

Görüldüğü gibi NOT ifadesi seçimi tersine çevirmek için yeterli oluyor. Buraya kadar LIKE operatörüne genel bir giriş yapmış olduk. Bir sonraki yazıda LIKE ile joker karakterlerin (wildcards) kullanımına ayrıntılı olarak bakacağız.

Herkese kolay gelsin

İlgili Diğer Makaleler

9 Ekim 2009 Cuma tarihinde yayınlandı.