Mantıksal veriler için mümkün olabilen sadece iki değer sözkonusudur.Doğru (TRUE T), Yanlış (FALSE F) ile simgelenir.
ÖRNEK: Personel tablosunda personelin cinsiyetini belirten cins adlı alan mantıksal(logical) olarak tanımlanmıştır. Cinsiyeti erkek olanları T, kadın olanları F ile tanımlarsak erkek olanları listele:
SELECT *
FROM personel
WHERE cins = .T.;
SELECT *
FROM personel
WHERE brüt > 2549632;
KARŞILAŞTIRMA OPERATÖRLERI:
OPERATÖR ANLAMI:
< …den daha küçük
> …den daha büyük
= Eşit
>= Büyük veya eşit
<> Eşit degil
!= Eşit degil
!< …den küçük değil
!> …den büyük değil
ÇEŞITLI VERI TIPLERI IÇIN BASIT SORGULAMALAR:
1.NÜMERİK VERİ TİPLERİ:
ÖRNEK: Maaşi 654321TL’den fazla olmayan personeli listele.
SELECT *
FROM personel
WHERE brüt
2.KARAKTER VERİ TİPLERİ (CHAR):
Karakter çift veya tek tırnak ile gösterilir.
ÖRNEK: Adı Ali olmayan personele ait kayıtları listele.
SELECT *
FROM personel
WHERE ad <> “Ali”;
BİRDEN ÇOK KOŞULA DAYALI SORGULAMALAR: (NOT, AND, OR)
TANIM: Mantıksal operatörlerin yardımı ile birden çok koşulun aynı anda gerçekleştirmesini sağlayacak (karmaşık yada birleşik koşullu) listelemeleri gerçekleştirilmektedir.
AND (VE)
ÖRNEK: Maaşı 9632147’dan fazla olan ve cinsiyeti erkek olan personelin listelenmesi istenir yani iki koşul verilmektedir ve ikisininde olması istenir.
SELECT *
FROM personel
WHERE brüt >9632147 AND cins =.T.;
NOT (DEĞİL)
OR (VEYA)
ÖRNEKLER:
1.Doğum tarihi 1960’dan önce olan maaşı 78963214 – 852963 arasındaki bayan personelin listele.
SELECT *
FROM dog_tar < {01/01/60} AND
brüt > = 78963214 AND brüt < =852963
AND cins = .F.;
2.Satış bölümüyle muhasebe bölümündekiler kimlerdir?
(Satış bölümünün böl_no’sunun 1 ve muhasebe bölümünün böl_no’sunun 2 olduğu varsayılmaktadır.)
SELECT *
FROM personel
WHERE bol_no =1 OR bol_no = 2;
3.Bölümü Satış yada Muhasebe olamayan 1960’dan sonra doğmuş bayan personeli listele.
1.YAZILIM:
SELECT *
FROM personel
WHERE NOT (böl_no =1 OR
böl_no =2) AND dog_tar > ={01/01/60}
AND cins =.F.;
2.YAZILIM:
SELECT *
FROM personel
WHERE böl_no <> 1 AND
böl_no <> 2 AND dog_tar > ={01/01/60}
AND cins =.F.;
BİR VERİ KÜMESİNDE ARAMA -IN OPERATÖRÜ
IN (İÇİNDE)
“IN” operatörü NOT ile kullanılılabilir.
ÖRNEK: Bölümü 1, 2, 3 olmayan personel kimlerden oluşmaktadir?
SELECT *
FROM personel
WHERE bol_no NOT IN (1, 2, 3);
ÖRNEK: Böl_no’su 1, 2 yada 3 olan personeli listele.
SELECT *
FROM personel
WHERE böl_no = 1 OR böl_no= 2 OR
böl_no = 3;
Bu örneğin IN ile yapılmış şekli daha kısadır.
SELECT *
FROM personel
WHERE NOT böl_no IN (1, 2, 3);
BETWEEN SORGULAMA SÖZCÜĞÜ:
BETWEEN (ARASINDA)
ÖRNEK: Maaşi 5- 10 milyon arasinda olan personel kimlerdir?
SELECT *
FROM personel
WHERE brüt > =5000000 AND
brüt < = 10000000;
BETWEEN (ARASINDA) komutu ile daha kısa olacaktır.
SELECT *
FROM personel
WHERE brüt BETWEEN 5000000
AND 10000000;
KARAKTER TÜRÜ BİLGİ İÇİNDE ARAMA LIKE SÖZCÜĞÜ:
TANIM ÖRNEĞİ: Adres sutunu içerisinde semt bölümüne ait ayrıca bir sutun olmadığını varsayarak semt adı adres sutunu içerisinde yer alır ve buradan da LIKE (BULUNAN) komutuyla adres sutunu içerisinde Taksim semtinde oturan personeli listele.
SELECT *
FROM personel
WHERE adres LIKE ‘% TAKSİM %’ ;
Adres LIKE ‘%TAKSİM%’ ifadesi adres içinde her hangi bir yerde TAKSİM yazan yerde oturan personeli listeleyecektir.
LIKE sözcüğünü ,alt çizgi (-) sembolü ile birlikte kullanmakta mümkündür.
SELECT *
FROM personel
WHERE ad LIKE ‘Mehmet —–‘;
Şekildeki komut ile ad alani “Mehmet “ ile başlayan ve ad alani uzunlugu 10 karakter olan isimlere sahip personeli listeleyecektir.”Mehmet Ali”,”Mehmet Can”- “Mehmetcik” gibi isimler listeleyecektir.Anlaşilacagi gibi – sembolü , tek karakterlik bir bilgiyi temsil etmektedir.