Merhaba Arkadaşlar,
Phphocasi.com.tr sitesi üzerinden SQL Dersleri’ne devam ediyoruz. Bu derste SQL LIKE ve IN Operatörleri yazısını işleyeceğiz. Bir önceki dersimizde tablolar üzerinde sorgu işlemleri için bazı operatörleri görmüştük. Bu derste ise yine sql sorguları için benzer operatörleri örneklerle göreceğiz.
SQL LIKE ve IN Operatörleri
Bir karakter kümesi içinde bir karakteri veya karakter alt kümesi kısmını bulunduran verileri çekmek veya bir dizi veri içinde ki koşulları sağlayan verileri kontrol etmek için kullanılır. Kafanız karışmasın örneklerle çok iyi anlayacaksınız
LIKE Operatörü
Örneğin yazar adı içinde “b” karakteri olan yazarları çekelim;
SELECT *FROM yazarlar WHERE yazar_adi LIKE "%B%"
Burada dikkat etmemiz gereken nokta küçük veya büyük harf olması önemli değil.
Tek bir satır varmış. Şimdi adı “A” karekteri ile başlayan yazarları bulalım;
SELECT *FROM yazarlar WHERE yazar_adi LIKE "A%"
Peki birden fazla karakteri nasıl kontrol edeceğiz. Hemen gösterelim;
Örneğin yazar adı “A” ve “C” karakteri ile başlayan verileri çekelim;
SELECT *FROM yazarlar WHERE yazar_adi LIKE "[AC]%"
Peki ben çok daha fazlasını kontrol etmek için hepsini teker teker yazacak mıyım diyorsan bu örneğe bak.
Yazar adlarını alfabeye göre A-H arasında karakterlerle başlayan tüm verileri çekelim;
SELECT *FROM yazarlar WHERE yazar_adi LIKE "[A-H]%"
Şimdi yazar adı 4 karakterli ilk karakteri “T” veya “Ö” karakterleri çekelim;
SELECT *FROM yazarlar WHERE yazar_adi LIKE "[TÖ]___%"
Gördüğünüz gibi istediğiniz formatta çekip verileri elde edebiliyoruz.
Şimdi yazar adı 5 karakter olan yazarları bulalım;
SELECT *FROM yazarlar WHERE yazar_adi LIKE "_____"
Şimdi yazar adi “A” ile başlayan ve yazar adi 5 karakterli olan yazarları bulalım.
SELECT *FROM yazarlar WHERE yazar_adi LIKE "A____"
Şimdi ikinci karakteri “A” olan 5 karakterli yazarları bulalım;
SELECT *FROM yazarlar WHERE yazar_adi LIKE "_A___"
IN Operatörü
Verilen değerler içinde herhangi birini sağlıyorsa.
SELECT *FROM yazarlar WHERE ders_sayisi IN (20,30,50,100)
Ders sayısı 20,30,50,100 değerleri içinde herhangi birini sağlayan satırları çektik.
Başka bir örnek daha yapalım. Bu sefer yazar adi son harfi “t” ile biten 5 karakterli yazarları ve yazdığı ders sayısı NULL,10,20,30 değerlerinden biri olan yazarları bulalım.
SELECT * FROM yazarlar WHERE yazar_adi LIKE "____T" AND ders_sayisi IN (NULL,10,20,30)
Başka bir örnek daha yapalım yazar adi “A” ile başlayıp “T”ile biten yazarları yazalım;
SELECT * FROM yazarlar WHERE yazar_adi LIKE "A%T"
Phphocasi.com.tr da SQL Dersleri eğitim serisinde bir yazının daha sonuna geldik.Bu dersimizde SQL Tek Tablo Sorguları işledik. Bir sonraki derste SQL Guruplandırarak Sorgulama dersini işleyeceğim. Eksik yada yanlış gördüğünüz bir yer varsa SORU- CEVAP kısmından veya dersin altındaki yorum kısmında veya iletişim bilgilerimden bana ulaşabilirsiniz bir sonraki derste görüşmek üzere.
19