Genellikle verileri filtrelemek için koşulun tam eşleşmesine göre değil yaklaşık bir değere göre örnekleme yapmamız gerekir. Yani, örneğin adı belirli bir kalıpla eşleşen (düzenli ifade) veya belirli sembol veya kelimeleri içeren bir ürünü aradığımızda. Bu tür amaçlar için, SQL'de yaklaşık değerleri arayan bir LIKE operatörü vardır. Böyle bir model oluşturmak için meta karakterler (değerin bir kısmını aramak için özel karakterler) kullanılır, yani: "yüzde işareti" (%) veya yıldız işareti (*), "alt çizgi" (_) veya "soru işareti" (?) , "köşeli parantezler" ([ ]).
Örneğin tablomuzdan yalnızca adında Skis kelimesini içeren ürünlerle ilgili kayıtları seçelim. Bunu yapmak için uygun bir şablon oluşturacağız:
Run SQLSELECT *
FROM Sumproduct
WHERE Product LIKE '*Skis*'
Gördüğünüz gibi, DBMS yalnızca Ürün sütununda Skis kelimesini içeren ürünleri içeren kayıtları seçti.
Bir sözcükteki tek bir karakterin yerine alt çizgi veya soru işareti kullanılır. Bikes kelimesindeki tüm sesli harfleri "soru işareti" (?) ile değiştirelim ve sonucu görelim:
Run SQLSELECT *
FROM Sumproduct
WHERE Product LIKE 'B?k?s'
Köşeli parantez meta karakteri ([ ]), aynı anda aranacak karakter kümesini belirtmek için kullanılır.
SELECT *
FROM Sumproduct
WHERE City LIKE '[TN]*'
Yukarıdaki örnekte City alanında şehir adlarının T veya N harfiyle başladığı kayıtları seçtik.
Ayrıca bu durumda bunun tersini yapan başka bir meta karakter kullanabiliriz. Normal ifademize "eşit değil" anlamına gelen bir ünlem işareti (!) (MS Access için) veya güç işareti (^) (diğer DBMS için) ekleyelim.
SELECT *
FROM Sumproduct
WHERE City LIKE '[!TN]*'
Yani son oluşturduğumuz sorgu şu şekilde okunacaktır: Sumproduct tablosundaki tüm sütunları seç ve yalnızca City alanındaki şehir adlarının T veya N harfleriyle başlamadığı kayıtları seç. "köşeli parantez" meta karakterindeki harf kümesi, metinde yalnızca bir konuma karşılık gelir.
Zaten bildiğimiz NOT operatörünü kullanırsak da benzer bir sonuç elde edebiliriz ancak ünlem işareti (!) ile kayıt daha kısa olacaktır.