Yazdır 13 Haziran 2010 Pazar (Hit: 14335)

Kayıt Arama (like)

Tablolarda kayıt arama esasında bir sorgulamadır. Sorguda where ifadesinden sonra belirtilen alanlarda belirtilen değerin olup olmadığına like ifadesiyle bakılır. Kullanımı aşağıdaki gibidir.

select alan1, alan2, ... from tablo_adi where alan like 'aranan';

Burada aranan değerin sağına % işareti konulursa (aranan%) aranan kelime ile başlayan, soluna % işareti konulursa (%aranan) aranan kelime ile biten, her iki tarafına % işareti konulursa (%aranan%) içerisinde aranan kelimesi geçen kayıtlar anlamına gelmektedir. Konuyu bir örnekle açıklamaya çalışalım.

  • adi like 'A%'     > Adı A ile başlayanlar
  • adi like '%a'     > Adı a ile bitenler
  • adi like '%a%'  > Adında a harfi bulunanlar

Not: Aranan değerin küçük yada büyük harfle yazılmasının farkı yoktur.

ogrenci_no adi soyadi cinsiyeti sinif_kodu
54 Ahmet Özdemir e 12blsa
67 Hatice Eren k 12blsa
18 Mahir Seren e 12blsb

 

Örnek: Adı A ile başlayan öğrencilerin ekranda ad, soyad ve sınıf kodunu gösterelim.

select adi, soyadi, sinif_kodu from ogrenciler where adi like 'A%';

 

Örnek: Soyadı k ile biten erkek öğrencilerin ekranda no, ad ve soyad bilgilerini gösterelim.

select ogrenci_no, adi, soyadi from ogrenciler where soyadi like '%k' and cinsiyeti='e';

 

Örnek: 12. sınıflardaki kız öğrencilerin tüm bilgilerini ekranda gösterelim.

select * from ogrenciler where cinsiyeti='k' and sinif_kodu like '12%';

 

Örnek: Adında can ifadesi geçen erkek öğrencilerin tüm bilgilerini ekrana gösterelim.

select * from ogrenciler where adi like '%can%' and cinsiyeti='e';

 

Örnek: Adı yada soyadı M ile başlayan öğrencilerin tüm bilgilerini ekranda gösterlim.

select * from ogrenciler where adi like 'M%' or soyadi like 'M%';

 

Örnek: Adında yada soyadında nur bulunan kız öğrencileri listeleyelim.

select * from ogrenciler where (adi like '%nur%' or soyadi like 'nur') and cinsiyeti='k';

 

Örnek: Adı ve soyadı H ile başlayan 12blsa yada 12blsb sınıflarındaki öğrenciler listeleyelim.

select * from ogrenciler
where (adi like 'H%' and soyadi like 'H%') and (sinif_kodu='12blsa' or sinif_kodu='12blsb');

 

Örnek: Anadolu sınıflarındaki öğrencilerin no, ad, soyad ve sınıf adlarını ekranda gösterelim.

select ogrenciler.ogrenci_no, ogrenciler.adi, ogrenciler.soyadi, siniflar.sinif_adi from ogrenciler, siniflar
where ogrenciler.sinif_kodu=siniflar.sinif_kodu and siniflar.sinif_kodu like '%and%';

Not: Burada iki tablo birleştirilerek kullanılmıştır.

 

Örnek: Aşağıdaki uyeler tablosunda;

uye_id adi soyadi dogum_yili email uyelik_tarihi son_giris_tarihi
5 Mustafa Yaren 1985 m_yaren@phpdefteri.com 2010-06-11 2010-06-11
7 Fuat Ocak 1993 fuatocak@phpdefteri.com 2010-02-17 2010-02-22
8 Adem Ateş 1992 ademates@phpdefteri.com 2010-01-11 2010-03-12

1) mail adresi phpdefteri.com' dan alınmış uyeleri ekranda gösterelim.

select * from uyeler where email like '%@phpdefteri.com';

2) 1990'lı yıllarda doğan uyelerin ad, soyad, doğum yılı, ve mail adreslerini ekrana gösterelim.

select adi, soyadi, dogum_yili, email from uyeler where dogum_yili like '199%';

3) Mayıs 2010 tarihinde giriş yapmış kullanıcıların ad, soyadı, mail ve giriş tarihlerini ekranda gösterelim.

select adi, soyadi, email, son_giris_tarihi from uyeler where son_giris_tarihi like '2010-05-%';

 


Bu site meslek liselerinde bilişim bölümü web programcılığı dalında okutulan internet programcılığı dersine yardımcı olması için tasarlanmıştır. İletişim için iletisim@phpdefteri.com
Apache PHP MySQL PhpMyAdmin EasyPHP Xampp AppServ Wamp W3School

www.phpdefteri.com © 2010