SQL veritabanı üzerinde verilerini tutan kişilerin binlerce veriyi veritabanında tutma imkanları oluyor. Bu binlerce veri arasından istediğimiz bir bilgiye ulaşabilmek de bir hayli zor olsak gerek.. Düşündüğünüz gibi değil aslında. Her şey gibi bunun da kısa yolu var. Bu yazımızda sizlere sql sorgularıyla  binlerce veri arasından istediğimiz veriye kolayca nasıl ulaşırız bunu göstereceğim.

Sql üzerinde buna “like” sorgusu deniyor. Like ile birlikte ufak kod satırıyla filtreleme yapabiliyoruz. Bir çok like sorgusu var. Gelin birlikte inceleyelim. Her yazımızda olduğu gibi örnekler ile anlatım yapacağım.

Veritabanımın Calisanlar tablosundaki veriler üzerinde çalışacağım.

SQL Like Sorgusu

Sadece örnek olması için veriler ekledim bu yüzden isimlere ve rakamlara takılmayalım. Tc no 1 mi olur gibi söylemlere gerek yok.

SELECT * FROM Calisan
WHERE Unvan LIKE 'Garson'  /*garson olanlar*/

Bu komut üzerinde unvan kolonunda Garson olanları listelemesini istedim.

String bir ifade ararken tek tırnak kullandığımızı da unutmayalım.

SQL Like Sorgusu

 

 

Gördüğünüz gibi ünvanı garson olan kişiler listelendi.

SELECT * FROM Calisan
WHERE Unvan LIKE 'K%' /*baş harfi k olanlar*/

Bu komut üzerinde unvan kolonunda baş harfi K ile başlayan kelimeleri listelemesini istedim. % işaretinin solunda yazdığım harf ilk harf anlamına gelmektedir.

SQL Like Sorgusu

 

 

 

Gördüğünüz gibi ünvanının baş harfi k olan kişiler listelendi.

SELECT * FROM Calisan  /*son harfi n olanlar*/
WHERE Unvan LIKE '%n'

Bu komut üzerinde unvan kolonunda son harfi n ile biten kelimeleri listelemesini istedim. % işaretinin sağında yazdığım harf son harf anlamına gelmektedir.

SQL Like Sorgusu

 

 

Gördüğünüz gibi ünvanının son harfi n olan kişiler listelendi.

SELECT * FROM Calisan
WHERE Unvan LIKE '%a%'  /* içinde a harfi geçenler*/

Bu komut üzerinde unvan kolonunda içinde a harfi olan kelimeleri listelemesini istedim. 2 adet % işaretini içinde geçmesini istediğimiz harfin arasına aldığımızda içinde a harfi olan kelimeler gelir.

 

 

 

Gördüğünüz gibi ünvanında a harfi olan kişiler listelendi.

SELECT * FROM Calisan
WHERE Unvan LIKE '%_a%' /* 2. harfi a olanlar*/

Bu komut üzerinde unvan kolonunda ilk harf olarak _ olarak verildi ve herhangi bir harf olabilir anlamına geliyor. İkinci harfi de biz belirlemişiz a olmasını istedim.

Ve sonraki harflerinin herhangi bir şey olması fark etmiyor.

 

 

 

Gördüğünüz gibi ünvanının 2. harfi a olan kişiler listelendi.

SELECT * FROM Calisan
WHERE Unvan LIKE '%[en]%'  /*kelime içinde e veya n harfi olan kelimeler*/

Bu komut üzerinde unvan kolonunda e veya n harflerinden birisinin olması gerektiğini istedim. Ben bunu %en% olarak yazsaydım içerisinde “en” olan kelimeleri getirirdi. Ama köşeli parantezler içerisinde yazdığım için e veya n harfi olan kelimelerden ikisinden birisinin olması yeterli olacaktır.

 

 

 

Gördüğünüz gibi ünvanının içinde e veya n olan kişiler listelendi.

SELECT * FROM Calisan
WHERE Unvan LIKE '[^k]%' /* k harfi olmayanlar*/

Bu komut üzerinde unvan kolonunda k harfi içermeyen kelimeleri istedim. ^ işareti olumsuzluk ifade ediyor ve olmayanları getirmemi sağlıyor.

 

 

 

Gördüğünüz gibi ünvanının içinde k harfi olmayanlar listelendi.