SQL "Like" Kullanım Şekilleri

 

   Merhaba arkadaşlar. 
 Bu yazımızda SQL deki "like" komutundan bahsedeceğiz. Örnekler üzerinden kullanım şekillerini gösterme adına aşağıdaki gibi bir tablo hazırladım.




  Bu tablo üzerinden "like" ile ilgili tüm şekilleri kullanmaya çalışalım. Öncelikle SQL Server Management Studio ' muzda New Query diyerek ilgili kodlarımızı yazacağımız sayfamını açıyoruz. 

 --İlk örneğimiz tablodaki öğrencilerden ismi "d" harfi ile başlayanları sıralayalım. Bunun için bize gerekli olan kod ;



SELECT * FROM Ogrenci 

WHERE ogrenciAd LIKE 'd%';


Kodu yazıp Execute yaptığımızda karşımıza şu şekilde veri(ler) gelecektir.





Burda dikkat etmemiz gereken nokta "%" ibaresidir. "%" yüzde ibaresinin kullanımını basitçe kendisinden sonra herşey dir. Örnekte olduğu gibi d harfinden sonra gelen herşeyi getir.
Pekiştirmek ve detaylandırmak adına bir örnek daha verelim. Bu örneğimizde senaryomuz şu şekilde olsun, öğrencilerin soyadlarında "e" harfi bulunanları listeleyelim. Bunun için yine "%" ibaresinden yararlanacağız .

-- Üstteki senaryomuzu uygulamamızı sağlayacak olan kod ;


SELECT * FROM Ogrenci 

WHERE ogrenciSoyad LIKE '%e%';



Kodu yazıp Execute yaptığımızda karşımıza şu şekilde veri(ler) gelecektir.




Kısaca "e" harfinden önce herşey , "e" harfi , "e" harfinden sonra herşey

LIKE '%e%';

-- LIKE '(tek karakter)' kullanım şekli de şu şekilde olacaktır;

SELECT * FROM Ogrenci
WHERE ogrenciID LIKE '1';


Kodun çıktısı bize tahmin edeceğiniz üzere ogrenciID 'si 1 olan öğrenciyi getirecektir.





-- LIKE '[A-K]' kullanım şekli ;
Bu kullanım şeklinde ise köşeli parantez içerisindeki karakterler arasında kalan verileri sıralayacaktır. Örnek olarak ogrenciID si 1-3 arasındaki verileri getirelim. Bunun için bize gerekli olan kod ;

SELECT * FROM Ogrenci
WHERE ogrenciID LIKE '[1-3]';


Kodumuzun çıktısı ise ogrenciID'si 1 ile 3 arasında olan verileri getirecektir.



--LIKE '[^Baslangic-Bitis]' kullanım şekli ;
Bu kullanım şekli ise aralığı dışındaki verileri getirilmesi için kullanılmaktadır. Örnek için gerekli olan kodumuz ;

SELECT * FROM Ogrenci
WHERE ogrenciID LIKE '[^1-3]';


Kodumuzun çıktısı ise ogrenciID'si 1 ile 3 aralığı dışındaki verileri sıralayactır.



--LIKE '[^TekKarakter]'  kullanım şekli ;
Son kullanım şeklimiz ise tek karakter dışındaki verilerimiz sıralarken kullanacağımız kullanım şeklidir. Senaryomuz ogrenciID'si 1 olan hariç diğer verileri getirmek. Senaryomuzu gerçekleştirmemiz için gerekli olan kodumuz ;

SELECT * FROM Ogrenci
WHERE ogrenciID LIKE '[^1]';


Kodumuzun çıktısında ise ogrenciID'si 1 dışındaki verileri getirecektir.




İyi Çalışmalar.