Anasayfa / Yazılım / SQL / SQL İfadeler ve Operatörler

SQL İfadeler ve Operatörler

SQL’de de bir takım ifadeler ve operatörlere ihtiyaç duyulur. Yazılımda olduğu gibi matematiksel işaretlerin bir kısmı, bir takım mantıksal ifadeleri SQL ortamında da kullanmaktayız. Bunları örneklendirerek anlatmak istiyorum :

+ Operatörü : İki sayıyı ya da iki adet string ifadeyi toplamaya yarar. Örneğin + operatürünü Northwind veri tabanında Employees tablosunda kullanalım. Employees tablosu normalde şu şekilde görünüyor;

Görüldüğü gibi FirstName ve LastName ayrı kolonlarda. Şimdi ben bir sorgu yazacağım ve bu sorguda FirstName, LastName ve Title verilerini çekeceğim, ancak verileri çektiğim tabloda FirstName ve LastName kolonlarını tek kolonda listeleyeceğim.

SELECT FirstName + ' ' + LastName AS FirstAndLastName , Title
FROM Employees

Burada ki deyim de, SELECT ile FirstName ve LastName i çekiyorum fakat birbirine + operatörü ile bağlayıp AS deyimi ile birlikte FirstAndLastName adlı bir kolon olarak listelenmesini sağlıyorum. Deyim sonucunda karşıma çıkan tablo :

Böylelikle normalde olmayan bir kolonu + operatörü ile oluşturmuş oluyorum.

– Operatörü : İki sayıyı birbirinden çıkarma işlemi için kullanılır.

* Operatörü : Bir sayıyı bir başka sayı ile çarpma için kullanılır.

/ Operatörü : Bir sayıyı bir diğer sayıya bölmek için kullanılır.

> Operatörü : Büyüktür operatörüdür. WHERE deyimi ile birlikte kullanılır, ilk değerin ikincisinden büyüklüğünü kontrol eder. Örneğin, Northwind veritabanında Employees tablosunda EmployeeID’si 5’ten büyük olanları listeleyelim :

SELECT EmployeeID,FirstName, LastName
FROM Employees
WHERE EmployeeID > 5

Bunun sonucunda alınan tablo :

< Operatörü : Küçüktür operatörüdür. WHERE deyimi ile birlikte kullanılır, ilk değerin ikincisinden küçüklüğünü kontrol eder. Örneğin, Northwind veritabanında Employees tablosunda EmployeeID’si 5’ten küçük olanları listeleyelim :

SELECT EmployeeID,FirstName, LastName
FROM Employees
WHERE EmployeeID < 5

Bunun sonucunda alınan tablo :

>= Operatörü : Büyük eşittir operatörüdür. WHERE deyimi ile birlikte kullanılır, ilk değerin ikincisinden büyüklüğünü ve ona eşitliğini kontrol eder. Örneğin, Northwind veritabanında Employees tablosunda EmployeeID’si 5’e eşit ve 5’ten büyük olanları listeleyelim :

SELECT EmployeeID,FirstName, LastName
FROM Employees
WHERE EmployeeID >= 5

Bunun sonucunda alınan tablo :

<= Operatörü : Küçük eşittir operatörüdür. WHERE deyimi ile birlikte kullanılır, ilk değerin ikincisinden küçüklüğünü ve ona eşitliğini kontrol eder. Örneğin, Northwind veritabanında Employees tablosunda EmployeeID’si 5’e eşit ve 5’ten küçük olanları listeleyelim :

SELECT EmployeeID,FirstName, LastName
FROM Employees
WHERE EmployeeID <= 5

Bunun sonucunda alınan tablo :

<>, != Operatörü : İki türde de kullanılabilir, <>, != gibi. Eşit değildir operatörüdür. Belirtilen ilk değerin ikincisine eşit olmadığını kontrol eder. Örneğin yine Northwind veritabanında EmployeeID’si 5’e eşit olmayanları listeleyelim.

SELECT EmployeeID,FirstName, LastName FROM Employees
WHERE EmployeeID != 5

Burada != yerine <> kullanırsak da aynı sonucu alırız ve aynı ifadeyi demiş oluruz. Bunun sonucunda alınan tablo :

= Operatörü : Eşitlik operatörüdür. Örneğin Northwind veritabanında EmployeeID’si 5’e eşit olan veriyi listelemek için şöyle bir deyim yazabilirim.

SELECT EmployeeID,FirstName, LastName FROM Employees
WHERE EmployeeID = 5

OR Operatörü : SELECT deyimi ile birlikte kullanılır. Örneğin bir deyim ile sorgulama yaparken birden fazla durumu belirtebiliriz. Herhangi bir duyuma uyması yeterlidir. Örneğin şu deyim ile birlikte :

SELECT EmployeeID,FirstName, LastName FROM Employees
WHERE EmployeeID = 5 OR EmployeeID = 3

Bu deyim ile birlikte karşıma EmployeeID’si 5 veya 3 olan veriler listelenir.

AND Operatörü : SELECT deyimi ile birlikte kullanılır. Belirtilen tüm durumların geçerli olmasını kontrol eder. Yani tüm şartlar sağlanmalıdır.

NOT Operatörü : LIKE deyiminin tersidir aslında. Bir durumum benzememe halini kontrol eder. Örneğin, Northwind veritabanında FirstName alanında ‘an’ geçmeyenleri listeleyelim.

SELECT EmployeeID,FirstName, LastName FROM Employees
WHERE FirstName NOT LIKE '%an%'

? , _ Operatörü : ? veya _ olarak kullanılabilir. Underscore karakter olarak bilinirler. Tek bir karakter yerine geçer.Örneğin bir tabloda bir ürün listesi olduğunu düşünelim. Seri noları olsun ilk karakter bir harf diğer karakterler rakam olsun. Rakamlar Seri noyu tanımlamış olsun, harf ise o ürünün bölgesel yerini belirtmiş olsun. Aynı seri nolu farklı bölgelerdeki ürünleri listelemek istediğimizde şöyle bir sorgu çekilebilir.

SELECT UrunID,UrunSeriNo, UrunAdi FROM Urunler
WHERE UrunSeriNo LIKE '?12345'

? yerine _ işareti de kullanılabilir.

%, * Operatörü : * veya % olarak kullanılabilir. Birden fazla karakter yerine geçer. Örneğin bir ürünler tablosunda seri nosunda AB ifadesi için ürünleri listeleyen bir sorgu için :

SELECT UrunID, UrunSeriNo, UrunAdi FROM Urunler
WHERE UrunSeriNo LIKE '%AB%'

% işareti yerine * işareti de kullanılabilir.

3 yorum

  1. Faydalı bilgiler için teşekkürler

  2. Merhaba, bir galeri projem var ve galeri her ay kira alıyor kiracılardan. Yapmak istediğim bu ay kira alınmayan kiracıları listelemek. KiraOdemeleri adında bir tablo var ve bu tabloya

    KiraID
    KiraciID
    KiraYil
    KiraAY
    KiraMiktari
    …….

    şeklinde ekleniyor veriler. Acaba buna göre bu dönemde olmayan verileri nasıl çekebilirim?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir