Kalıp İfadelerle Sorgu (Pattern)

'Black Warrior

Yaşayan Forum Efsanesi
8 Ocak 2013
12,132
5
E5
Eğer bir sözel verinin sadece belli kriterlere uyanlarını seçeceksek sütun_adı LIKE kalıpkoşulunu kullanırız. Kalıp kısmında belirteceğimiz yüzde (%) işareti, orada herhangi bir harf ya da kelime olabileceğini belirtir.


SELECT isim, yas, email FROM tablom WHERE isim LIKE "a%";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Ali | 39 | [email protected] |+-------+-----+----------------+​

"a%" ifadesi A harfiyle başlayan ve herhangi bir şekilde devam eden kayıtları listelememizi sağladı. Eğer yüzde başta olsaydı:


SELECT isim, yas, email FROM tablom WHERE isim LIKE "%m";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Sevim | 24 | [email protected] |+-------+-----+----------------+​

Bu ifade sonu isim sütununda sonu m harfiyle biten kayıtları listelememizi sağladı. Yüzde işaretini her iki tarafta da kullanabiliriz. Bu durumda içinde ilgili harf ya da kelime geçen kayıtlar listelenir:


SELECT isim, yas, email FROM tablom WHERE isim LIKE "%e%";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Sevim | 24 | [email protected] || Gözde | 28 | [email protected] |+-------+-----+----------------+​

Yukarıdaki her iki kayıtta e harfi içeriyor. Burada harf ile ilgili örnekler verdik fakat buraya kelime de yazabileceğinizi unutmayın.


SELECT isim, yas, email FROM tablom WHERE isim LIKE "%evi%";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Sevim | 24 | [email protected] |+-------+-----+----------------+​



SELECT * FROM tablom;+----+-------+-----+----------------+| id | isim | yas | email |+----+-------+-----+----------------|| 1 | Ali | 39 | [email protected] || 2 | Sevim | 24 | [email protected] || 3 | Gözde | 28 | [email protected] |+----+-------+-----+----------------+​


Koşullara Bağlı Listeleme

Eğer sadece belli koşullara uyan kayıtları listeletmek ve seçmek istiyorsak WHERE koşullarşeklinde komuta ekleme yaparız.


SELECT isim, yas, email FROM tablom WHERE id = "1";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Ali | 39 | [email protected] |+-------+-----+----------------+​

Yukarıdaki örnekte id sütunu 1 olan kaydı bize vermesini WHERE id = "1" eklemesiyle belirttik. Sayısal değerlerde büyüktür, küçüktür, küçük eşittir, büyük eşittir kullanabiliriz:


SELECT isim, yas, email FROM tablom WHERE yas < "30";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Sevim | 24 | [email protected] || Gözde | 28 | [email protected] |+-------+-----+----------------+​

Yukarıdaki sorgu bize 30 yaşından küçük üyeleri verdi. Büyük eşittir (>
smile.gif
ve küçük eşittir (<
smile.gif
dersek ilgili sayıyı da sorgu sonuçlarına dahil etmiş oluruz.

Sayısal olmayan bir değeri koşul olarak öne sürüyorsak eşittir (
smile.gif
kullanırız.


SELECT isim, yas, email FROM tablom WHERE isim = "Ali";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Ali | 39 | [email protected] |+-------+-----+----------------+​

Burada isim = "ali" ya da isim = "ALI" gibi bir kullanım da olabilirdi. Sunucu büyük-küçük harf duyarsız olarak koşula bakacaktır. Eşitsizlik durumunu ise <> ile belirtiriz:


SELECT isim, yas, email FROM tablom WHERE yas <> "24";+-------+-----+----------------+| isim | yas | email |+-------+-----+----------------|| Ali | 39 | [email protected] || Gözde | 28 | [email protected] |+-------+-----+----------------+​
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.