03 NİSAN 2018
SALI
21.27
Youtube
Youtube kanalım açıldı! Daha detaylı ve güncel konu anlatımları için takip etmeyi unutmayın.
SQL Sorgulamalar

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
YORUMLAR 1
1
kemal
13 MAYIS 2018 - 16.35
hocam iyi günler ben proje ödevi üzerinde çalışıyorum bilet arama sitesi mysql veri tabanını kullanıyoruz ve jsf ilede siteyi yazıyoruz acaba nasıl yöntemle veritabanındaki veriyi eşleştirip kullanıcının istediği bileti bulmasını sağlayabilirim yardımcı olursanız sevinirim iyi çalışmalar.
CEVAPLA
0
Mert Topuz
17 MAYIS 2018 - 00.29
Mail adresiniz üzerinden dönüş yaptım hocam, umarım yararlı olur sizin adınıza. Sağlıcakla kalın :)
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et