Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
SQL Dilinde Wildcards (Joker Karakterler) Kullanımı

SQL Dilinde Wildcards (Joker Karakterler) Kullanımı

SQL sorgularında metin tabanlı veriler üzerinde esnek desen eşleştirme yapmak, veritabanı yönetiminde kritik bir yetenektir. Bu yetenek, belirli bir kriteri tam olarak karşılamayan ancak belli bir kalıba uyan kayıtları bulmamızı sağlar. SQL Wildcards (Joker Karakterler), tam da bu amaç için, özellikle LIKE operatörü ile birlikte kullanılarak, arama desenlerinin tanımlanmasında güçlü bir rol oynar. Bu kılavuz, SQL Wildcards'ın temel kullanımını, sözdizimini ve pratik örneklerini detaylandırmaktadır.

Sözdizimi


SQL Wildcards, genellikle LIKE operatörü ile birlikte kullanılır ve bir WHERE koşulunun parçası olarak bir sütundaki değerlerin belirli bir desene uyup uymadığını kontrol eder. Temel sözdizimi aşağıdaki gibidir:
SELECT sütun_adları
FROM tablo_adı
WHERE sütun_adı LIKE desen;
Burada desen, bir veya daha fazla joker karakter içeren bir karakter dizisidir.

Detaylı Açıklama


SQL, desen eşleştirmesi için iki ana joker karakter sunar:
  • % (Yüzde İşareti): Sıfır veya daha fazla karakterle eşleşir. Bu joker karakter, bir metin dizisinin herhangi bir yerinde herhangi bir sayıda karakterin bulunabileceğini belirtmek için kullanılır. Örneğin, 'A%' 'A' ile başlayan herhangi bir metinle eşleşirken, '%A' 'A' ile biten herhangi bir metinle eşleşir ve '%A%' 'A' karakterini içeren herhangi bir metinle eşleşir.

  • _ (Alt Çizgi): Tam olarak tek bir karakterle eşleşir. Bu joker karakter, belirli bir pozisyonda herhangi bir karakterin olabileceğini, ancak o pozisyonun mutlaka dolu olması gerektiğini belirtmek için kullanılır. Örneğin, 'A_Z', 'A' ile başlayıp 'Z' ile biten ve ortasında tam olarak tek bir karakter bulunan metinlerle (örneğin 'AAZ', 'ABZ', 'A1Z' gibi) eşleşir.

Bazı veritabanı sistemleri (örneğin, MS Access ve SQL Server), LIKE operatörü ile birlikte [], [^] ve [-] gibi ek joker karakterler sunabilir. Ancak bu kılavuz, tüm SQL standartlarında yaygın olarak desteklenen % ve _ karakterlerine odaklanmaktadır.


Pratik Kullanım Örnekleri


Aşağıdaki örnekler, bir Musteriler tablosunda (MusteriID, Ad, Soyad, Sehir, Eposta sütunlarına sahip) joker karakterlerin nasıl kullanıldığını göstermektedir.

Örnek 1: 'A' harfi ile başlayan müşteri adlarını bulma.

SELECT Ad, Soyad
FROM Musteriler
WHERE Ad LIKE 'A%';

Bu sorgu, Ad sütunundaki değeri 'A' harfi ile başlayan tüm müşterileri getirir. Örneğin, 'Ayşe', 'Ali', 'Ahmet' gibi adlar eşleşecektir.


Örnek 2: 'n' harfi ile biten müşteri adlarını bulma.

SELECT Ad, Soyad
FROM Musteriler
WHERE Ad LIKE '%n';

Bu sorgu, Ad sütunundaki değeri 'n' harfi ile biten tüm müşterileri listeler. Örneğin, 'Can', 'Asuman', 'Gülşen' gibi adlar eşleşecektir.


Örnek 3: Adında 'or' karakter dizisi geçen müşteri adlarını bulma.

SELECT Ad, Soyad
FROM Musteriler
WHERE Ad LIKE '%or%';

Bu sorgu, Ad sütununda 'or' karakter dizisini herhangi bir konumda içeren tüm müşterileri getirir. Örneğin, 'Ozan', 'Doruk', 'Burak' gibi adlar eşleşebilir.


Örnek 4: Tam olarak 5 harfli ve 'e' ile biten müşteri adlarını bulma.

SELECT Ad, Soyad
FROM Musteriler
WHERE Ad LIKE '____e';

Her bir alt çizgi (_) tek bir karakteri temsil ettiğinden, bu sorgu tam olarak 5 harfli olan ve son harfi 'e' olan adları (örneğin 'Emine', 'Ayşe') bulur.


Örnek 5: Soyadı 'B' ile başlayan, ikinci harfi herhangi bir şey olan ve üçüncü harfi 'l' olan müşterileri bulma.

SELECT Ad, Soyad
FROM Musteriler
WHERE Soyad LIKE 'B_l%';

Bu sorgu, soyadı 'B' ile başlayıp, ikinci harfi herhangi bir karakter olup, üçüncü harfi 'l' olan ve sonrasında herhangi bir karakter dizisi (veya hiçbir şey) gelebilen soyadlarını eşleştirir. Örneğin, 'Balcı', 'Bilen', 'Bilgin' gibi soyadları eşleşebilir.


Örnek 6: Belirli bir e-posta domaininden olmayan müşterileri bulma.

SELECT Ad, Soyad, Eposta
FROM Musteriler
WHERE Eposta NOT LIKE '%@example.com';

NOT LIKE operatörü, belirtilen desene UYMAYAN kayıtları seçmek için kullanılır. Bu örnek, e-posta adresi '@example.com' ile bitmeyen tüm müşterileri getirir.


Önemli Notlar


  • LIKE Operatörü: Wildcards, yalnızca LIKE veya NOT LIKE operatörleri ile birlikte kullanıldığında özel anlam taşır. Diğer operatörlerle (örneğin =) kullanıldığında, joker karakterler literal karakterler olarak yorumlanır.

  • Büyük/Küçük Harf Duyarlılığı: Wildcard desen eşleştirmesinin büyük/küçük harf duyarlılığı, kullanılan veritabanı sistemine ve sütunun kolaj ayarlarına bağlıdır. Bazı sistemler varsayılan olarak duyarsızken (örneğin SQL Server), bazıları duyarlıdır (örneğin PostgreSQL, MySQL). Duyarlılığı ayarlamak için genellikle COLLATE anahtar kelimesi veya veritabanı yapılandırmaları kullanılır.

  • Joker Karakterleri Literal Olarak Kullanma: Eğer deseninizde gerçekten bir % veya _ karakterini aramak istiyorsanız (yani joker karakter olarak değil, gerçek bir karakter olarak), ESCAPE anahtar kelimesi ile özel bir kaçış karakteri tanımlamanız gerekir. Örneğin: LIKE '50\% indirim' ESCAPE '\', '50% indirim' metnini arar.

  • Performans Etkileri: Bir desenin başında joker karakter kullanılması (örneğin '%kelime'), veritabanının indeksleri etkin bir şekilde kullanmasını engelleyebilir ve bu da büyük tablolarda sorgu performansını olumsuz etkileyebilir. Mümkün olduğunda, desenleri bir joker karakterle başlatmaktan kaçınmak daha iyi bir uygulama olabilir.

  • Gelişmiş Desen Eşleştirme: Bazı veritabanları (örneğin PostgreSQL, MySQL) daha karmaşık desen eşleştirme ihtiyaçları için düzenli ifadeleri (Regular Expressions) destekleyen REGEXP veya SIMILAR TO gibi operatörler sunar. Bu operatörler, LIKE'tan daha güçlü desen eşleştirme yetenekleri sağlar.


Yayınlanma Tarihi: 2025-10-18 16:00:39
CSS Dilinde CSS max-width Kullanımı
Önceki Haber

CSS Dilinde CSS max-width Kullanımı

CSS Makaleleri
Sonraki Haber

Python Dilinde `range()` Fonksiyonunun Kapsamlı Kullanımı

Python Makaleleri
Python Dilinde `range()` Fonksiyonunun Kapsamlı Kullanımı

Yorum yap

Yorum yapabilmek için  giriş  yapmalısınız.

Yorumlar

Bu yazı hakkında henüz yorum yapılmamıştır.
× SQL Aggregate Functions: Veri Kümelerini Özetleme ve Analiz Etme Rehberi
Bu ilginizi çekebilir

SQL Aggregate Functions: Veri Kümelerini Özetleme ve Analiz Etme Rehberi

SQL (Structured Query Language), veritabanlarındaki büyük veri kümelerini yönetmek ve...