mobilhanem-SQL-Dersleri

SQL LIKE ve IN Operatörleri

Merhaba Arkadaşlar,
Mobilhanem.com 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'

Mobilhanem.com 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.

Tüm SQL Dersleri

20

Cahit İşleyen

Data Scientist at @Embedica.ai
Python ve Linux sever.
Çay tiryakisi

2 Yorum

  • Merhaba, sondan 2. örnekte LIKE komutunun devamında %işaretinin olmaması gerekmez miydi? 5karakterle sınırlandırılmış çünkü.

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?