Bu bölümde SQL'de özel metin sorgulamalarının nasıl yapıldığını öğreneceğiz.
İlk olarak Person.Person tablomuzun ilk 1000 satırını sorgulatalım.
SELECT * ile kodlarımızı kısaltalım ve query'yi execute edelim. Toplamda 19972 satır listelenecektir. Oldukça fazla verimiz var.
Adı Tommy ve soyadı Black olan personeli aradığımızda WHERE kriterini kullanıp bunu rahatlıkla yapabiliriz.
Fakat diyelim ki aradığımız kişinin adını tam olarak hatırlamıyoruz. Adının Tom'lu bir şey olduğunu biliyoruz ve soyadının da sadece B harfi ile başladığını düşünüyoruz. Bunun için
WHERE FirstName LIKE 'Tom%'kodlarını kullanmalıyız. LIKE kriteri ile aradığımız kelimeyi yazıyoruz. Fakat adının Tom ile başladığını bildiğimiz için ardına % yüzde işareti ekliyoruz. Bu "Tom ile başlayan tüm adları bul" demek. Aynı şekilde soyadını LIKE 'B%' ile aratıyoruz. Bu ise "Soyadı B ile başlayan tüm sonuçları listele" demek. Sonuç olarak aradığımız kişiyi bulabileceğiz.
AND LastName LIKE 'B%'
Adı A, B ya da C ile başlayan tüm personeli bulmak istersek LIKE '[abc]%' kalıbını kullanmalıyız. Bu şekilde sadece A, B ve C harfleri ile başlayan adlar listelenecektir.
Eğer adı A'dan F'ye kadar olan tüm personelleri listelemek isteseydik LIKE '[a-f]%' kalıbını kullanmamız yeterliydi.
Şimdi HumanResources.Employee tablomuzu açalım ve ilk 1000 satırı sorgulatalım.
Eğer JobTitle'ında herhangi bir sayı olan iş adlarını bulmak isteseydik LIKE '%[0-9]%' kalıbını kullanmamız gerekirdi. % yüzde işaretinin başta ve sonda olduğuna dikkat edin. Bu sayının metnin herhangi bir yerinde olabileceğini belirtmektedir.
Eğer JobTitle'ı sayı içermeyen iş adlarını bulmak isteseydik NOT LIKE kriterini kullanmalıydık. Bu şekilde içinde sayı bulunmayan tüm iş adları listelenecektir.
SQL'de özel metin sorguları bu şekilde. Oldukça işimize yarayacak önemli bilgiler. Bir sonraki bölümde ORDER BY kriterine değineceğiz.