top of page

SQL Operatörleri: Sorgulara Güç ve Koşul Katmak

  • Yazarın fotoğrafı: Hüseyin Erdem ÜNAL
    Hüseyin Erdem ÜNAL
  • 5 Ağu
  • 4 dakikada okunur

Merhaba! SQL komutlarının gücünü artırmanın ve veri tabanından tam olarak istediğimiz verileri çekmenin yollarını keşfetmeye devam ediyoruz. Bugün, SQL operatörlerinin dünyasına adım atacak ve bu küçük ama etkili sembollerin ve anahtar kelimelerin sorgularımızı nasıl dönüştürdüğünü göreceğiz. Operatörler, tıpkı bir cümlenin virgülleri veya ünlemleri gibi, sorgularımızın anlamını ve amacını belirler.




Operatör Nedir?


Basitçe ifade etmek gerekirse, bir operatör, SQL sorgularınızda işlem yapmak için kullanılan bir sembol veya anahtar kelimedir. Bu işlemler; iki değeri karşılaştırmak, matematiksel hesaplamalar yapmak veya birden fazla koşulu birleştirmek gibi görevleri kapsar. Operatörler en sık WHERE komutu ile birlikte kullanılarak, veri tabanından sadece belirli kriterleri karşılayan satırları seçmenizi sağlar.


Operatör Türleri Nelerdir?


SQL operatörleri, gerçekleştirdikleri işlevlere göre farklı türlere ayrılır. İşte en yaygın kullanılan operatör türleri:


1. Aritmetik Operatörler


Sayısal veriler üzerinde temel matematiksel işlemleri gerçekleştirir.

Operatör

Anlamı

Örnek

+

Toplama

Price + 10

-

Çıkarma

Price - 5

*

Çarpma

Price * 1.20

/

Bölme

Price / 2

%

Kalan

id % 2


Örneğin: w3school'un Products tablosundaki her ürünün %20 zamlı halini görmek için:

SELECT ProductName AS UrunAdi, Price AS Fiyat, Price * 1.20 AS YeniFiyat FROM Products;

SQL * operatörü örnek sorgusu

Örnek'te AS anahtar sözcüğü dikkatinizi çekmiş olabilir. Açılımı 'ALIAS(Takma Ad)' olan bu anahtar sözcük, sorgu sonucunda görüntülenen tablonun sütun isimlerinin yerini aldığını görüyoruz. Alias kullanımına dair ileride ayrı bir parantez açacağız.


2. Karşılaştırma Operatörleri


İki ifadeyi karşılaştırır ve koşulun doğru veya yanlış olduğunu döndürür.

Operatör

Anlamı

Örnek

=

Eşittir

Country = 'Türkiye'

>

Büyüktür

Price > 50

<

Küçüktür

Stock < 10

>=

Büyük veya eşittir

Price >= 100

<=

Küçük veya eşittir

OrderDate <= '2025-01-01'

<>

Eşit değildir

Country <> 'USA'

Örneğin: Fiyatı 20'den fazla olan ürünleri listelemek için:

SELECT ProductName, Price
FROM Products
WHERE Price > 20;
SQL Karşlaştırma operatörü örneği

3. Mantıksal Operatörler


Birden fazla koşulu birleştirmek veya mevcut koşulu tersine çevirmek için kullanılır.

Operatör

Anlamı

Örnek

AND

Tüm koşullar doğruysa doğru döndürür.

Country = 'Germany' AND City = 'Berlin'

OR

En az bir koşul doğruysa doğru döndürür.

City = 'London' OR City = 'Paris'

NOT

Bir koşulun sonucunu tersine çevirir.

NOT Country = 'Mexico'


Örneğin: Fiyatı 20'den fazla ve CategoryID'si 1 olan ürünleri bulmak için:

SELECT ProductName, Price, CategoryID
FROM Products
WHERE Price > 20 AND CategoryID = 1;

SQL AND  operatörü kullanımı

4. Özel Operatörler


Daha spesifik koşullar için tasarlanmışlardır.

  • IN: Belirtilen değer listesinden herhangi birine eşit olan kayıtları bulur. Örnek: WHERE Country IN ('Germany', 'France', 'UK');

  • BETWEEN: Belirli bir aralıktaki değerleri bulur. Örnek: WHERE Price BETWEEN 10 AND 50;

  • LIKE: Belirli bir desenle eşleşen metinleri bulur. % (sıfır veya daha fazla karakter) ve _ (tek karakter) joker karakterleri kullanılır. Örnek: WHERE CustomerName LIKE 'A%';

  • IS NULL: Bir sütunun değerinin boş (NULL) olup olmadığını kontrol eder. Örnek: WHERE Address IS NULL;


Örneğin: Ücreti 5 ile 20 arasında, kategori id'si 1, 3, 5 olan ve ürün adı adı boş olmayan kayıtları görüntüleyelim.


SELECT * FROM Products
WHERE Price BETWEEN 5 AND 20
  AND ProductName IS NOT NULL
  AND CategoryID IN (1, 3, 5);

SQL detaylı Where kullanımı


LIKE Operatörü ile Metinlerde Desen Araması


LIKE operatörü, bir sütundaki metin değerlerinin belirli bir desene uyup uymadığını kontrol etmek için kullanılır. Bu operatörün en büyük gücü, yanında kullanılan joker karakterlerdir. İki temel joker karakter vardır:

  • % (yüzde işareti): Sıfır veya daha fazla karakteri temsil eder.

  • _ (alt çizgi): Tam olarak tek bir karakteri temsil eder.

Gelin, LIKE operatörünün bu joker karakterlerle nasıl kullanıldığına dair senaryo bazlı örnekler oluşturalım.


Senaryo: Customers Tablosunda Müşteri İsimlerini Bulma


Customers tablosunda, CustomerName (Müşteri Adı) sütunu üzerinde arama yaptığımızı varsayalım.


1. Belirli Bir Harfle Başlayan İsimleri Bulma


Adı "A" harfiyle başlayan ya da soyadı "H" ile biten tüm müşterileri bulalım;

SELECT CustomerName
FROM Customers
WHERE CustomerName LIKE 'A%' 
	OR CustomerName LIKE '%H';
SQL LIKE kullanımına örnek sorgu

2. İkinci Harfi Belirli Bir Harf Olan İsimleri Bulma


Adının ikinci harfi "r" olan müşterileri bulmak için:

SELECT CustomerName
FROM Customers
WHERE CustomerName LIKE '_r%';
SQL LIKE operatörü örneği

3. Belirli Bir Harf Dizilimi ve Uzunluk Koşulunu Birleştirme


Adı "L" ile başlayan ve toplamda 4 harfli olan müşterileri bulmak için:

SELECT CustomerName
FROM Customers
WHERE CustomerName LIKE 'L___ %';
ree

Sütunda isim ve soy isim birlikte tutulduğu için, kriterimizin ardından boşluk ve % karakterlerini kullandık ki herhangi bir soyadı da dahil edip adı L ile başlayan 4 harfli ismi olan müşterileri bulabilelim.


Operatörlerin Öncelik Sırası


Sorgularda birden fazla operatör kullanıldığında, hangi işlemin önce yapılacağı önemlidir. SQL'de, tıpkı matematikteki işlem sırası gibi bir öncelik sırası vardır. Öncelik sırası, sorgunun doğru çalışması için kritik öneme sahiptir. İşte genel öncelik sırası (en yüksekten en düşüğe):


  1. Parantezler (): Parantez içindeki ifadeler her zaman ilk olarak değerlendirilir.

  2. Aritmetik Operatörler: *, /, %

  3. Aritmetik Operatörler: +, -

  4. Karşılaştırma Operatörleri: =, >, <, >=, <=, <>

  5. Özel Operatörler: BETWEEN, LIKE, IN, IS NULL vb.

  6. Mantıksal Operatörler: NOT

  7. Mantıksal Operatörler: AND

  8. Mantıksal Operatörler: OR


Örnek: WHERE (Price > 10 OR CategoryID = 1) AND Price < 20;

Bu sorguda parantez, OR işleminin AND'den önce gerçekleşmesini sağlar. Eğer parantez olmasaydı, öncelik sırasına göre önce AND koşulu değerlendirilecekti ve bu da sorgunun mantığını değiştirebilirdi. Bu nedenle, karmaşık koşullarda parantez kullanmak, sorgunuzun beklediğiniz gibi çalışmasını garanti altına almanın en güvenli yoludur.


Özetle


SQL operatörleri, veri tabanıyla olan iletişiminizde size hassas kontrol gücü verir. Hangi verinin çekileceğinden, hangi verinin güncelleneceğine kadar her adımda bu operatörler sorguların temelini oluşturur. Bu bilgileri kullanarak, artık çok daha spesifik ve anlamlı sorgular yazmaya hazırız.


Bir sonraki yazımızda, birden fazla tabloyu birleştirerek daha kapsamlı veri setleri oluşturmamızı sağlayan JOIN komutunu inceleyeceğiz. Takipte kalın ve SQL yolculuğumuza devam edelim!

 
 
 

Yorumlar


bottom of page