Bu konumuz boyunca kullanacağımız tablomuz şu şekildedir:
Tablo Adı: kisiler
id | ad | soyad | yas |
1 | Mert | Topuz | 21 |
2 | Ali | Can | 20 |
3 | Mehmet | Bilir | 28 |
4 | Tayfun | Can | 35 |
5 | Akın | Pelin | 22 |
Sorgulama Yapmak
Veritabanımızda bir sorgulama yapmak istediğimizde kullanmamız gereken temel komut SELECT'tir. SELECT komutu yardımı ile bir tablo seçer ve bu tablo üzerinde dilediğimiz sorgulamaları gerçekleştirebiliriz. Fakat başlı başına SELECT kullanımı ile bir şey elde edemeyiz. Çünkü genel mantığı oluşturmak açısından bir şeyler seçilecek fakat bu seçilenler nereden seçilecek? İşte bu bölümde de FROM ibaresi bize yardımcı olacaktır.
SELECT sutunAdi FROM tabloAdi;
Örnek 1
Tablomuzdan yalnızca ad ve soyad alanları almak istiyoruz.
SELECT ad,soyad FROM kisiler;
şeklinde yapacağımız bir sorgu bize aşağıdaki tabloyu verecektir:
ad | soyad |
Mert | Topuz |
Ali | Can |
Mehmet | Bilir |
Tayfun | Can |
Akın | Pelin |
Örnek 2
Tablomuzdan yalnızca ad ve yaş bilgilerini almak istiyoruz.
SELECT ad,yas FROM kisiler;
şeklindeki bir sorgu ile aşağıdaki tablomu elde etmiş olacağım:
ad | yas |
Mert | 21 |
Ali | 20 |
Mehmet | 28 |
Tayfun | 35 |
Akın | 22 |
Koşullara Bağlı Sorgu Yapmak
Belli koşullara uyan sorgulamalar yapmak için WHERE ifadesi ile birlikte matematiksel sembollerimizi kullanabiliriz.
SELECT sutunAdi FROM tabloAdi WHERE kosullananSutun MATIFADESI kosul;
Kullanılabilecek Matematiksel İfadeler
İfade | Açıklama |
< | Küçüktür |
> | Büyüktür |
<= | Küçük Eşittir |
>= | Büyük Eşittir |
= | Eşittir |
<> | Eşit Değildir |
Örnek 1
Tablomuzda yaşı 25'ten küçük olanları listelemek istiyoruz.
SELECT ad,yas FROM kisiler WHERE yas < 25
şeklindeki sorgumuz bize çıktı olarak şu tabloyu verecektir;
ad | yas |
Mert | 21 |
Ali | 20 |
Akın | 22 |
Örnek 2
Tablomuzda yaşı 30'dan büyük olanları listelemek istiyoruz.
SELECT ad,yas FROM kisiler WHERE yas <= 20
şeklindeki sorgumuz bize çıktı olarak şu tabloyu verecektir;
ad | yas |
Tayfun | 35 |
Örnek 3
Tablomuzda yaşı 22 olmayanları listelemek istiyoruz.
SELECT ad,yas FROM kisiler WHERE yas <> 22
şeklindeki sorgumuz bize çıktı olarak şu tabloyu verecektir;
ad | yas |
Mert | 21 |
Ali | 20 |
Mehmet | 28 |
Tayfun | 35 |
Özel Sorgu Yapmak
Yukarıda yaptığımız sorgularda farkettiğiniz üzere tüm verilere ulaşıyoruz. Fakat biz içlerinden ihtiyacımız olanlarını seçmek istiyorsak WHERE ifadesini LIKE ile birlikte kullanmalıyız. Kullanımını şöyle bir kod yapısı ile ifade edebiliriz.
SELECT sutunAdi FROM tabloAdi WHERE arananSutunAdi LIKE arananSutunVerisi;
Örnek 1
Tablomuzda yalnızca ad ve soyad sütunlarını görüntülerken soyadı Can olanları listelemek istiyoruz.
SELECT ad,soyad FROM kisiler WHERE soyad LIKE 'Can';
şeklinde bir sorgu ile aşağıdaki tabloya ulaşırız:
ad | soyad |
Ali | Can |
Tayfun | Can |
LIKE Komutu İçin Özel Durumlar
% işareti ile birtakım özel durumlar oluşturabiliriz. Burada % ifadesini kullandığımız alanın konumu sayesinde veritabanı taramalarımızda sonuçları daha da genişletebiliriz.
1. Durum: Başta Kullanılan % (%durum)
İfadenin baş kısmının önemli olmadığını fakat sonunun mutlaka belirtilen şekilde bitmesi gerektiğini ifade eder.
SELECT ad,soyad FROM kisiler WHERE ad LIKE '%t';
şeklinde vereceğim sorguyu konu tablomuzdan incelersek isminin sonunda t harfi bulunan 2 satırı görmüş oluruz ve bu sorgumuzun çıktısı da:
ad | soyad |
Mert | Topuz |
Mehmet | Bilir |
2. Durum: Son Kullanılan % (durum%)
İfadenin son kısmının önemli olmadığını fakat başlangıcının mutlaka belirtilen şekilde başlamasının gerektiğini ifade eder.
SELECT ad,soyad FROM kisiler WHERE ad LIKE 'A%';
şeklinde vereceğim sorguyu konu tablomuzdan incelersek isminin başında A harfi bulunan 2 satırı görmüş oluruz ve bu sorgumuzun çıktısı da:
ad | soyad |
Ali | Can |
Akın | Pelin |
3. Durum: Her İki Tarafta Kullanılan % (%durum%)
İfadenin başlangıç ve son kısmının önemli olmadığını fakat içerisinde ortasında yer alan ifadenin mutlaka bulunması gerektiğini ifade eder. Yani aslında sütunda tarananlar içerisinde aranan kelime veya harfin olup olmadığını kontrol eder.
SELECT ad,soyad FROM kisiler WHERE soyad LIKE '%li%';
şeklinde vereceğim sorguyu konu tablomuzdan incelersek soyadında li bulunan 2 satırı görmüş oluruz ve bu sorgumuzun çıktısı da:
ad | soyad |
Mehmet | Bilir |
Akın | Pelin |