
SQL Kodları; SELECT
Merhaba,
Daha önceki dersimizde SQL kodlarının ne olduğundan bahsetmiştik. Şimdi bu sql kodlarından ilk göreceğimiz kod (komut) SELECT komutudur.
İlk önce SQL kodlarını göreceğiz daha sonra ise bunları çalıştırmamızı ve veritabanından bilgi almamızı sağlayacak olan php fonksiyonlarını göreceğiz.
SELECT Türkçe karşılığı seçim, seçmek olan bir komuttur. Veritabanından verileri çekeceğimizde SELECT komutunu kullanırız. SELECT bize istediğimiz verileri seçer bizde onları sitemizde kullanırız.
Kullanımı;
SELECT sutunlar FROM tabloadi ORDER BY anahtar DESC
Burada sutunlar kısmında tablomuzun hangi sütunlarının çekilmesi gerektiğini yazarız.
Örnek;
–Table Name: ogrenciler
id | adi | soyadi | cinsiyet | okulno |
1 | Ali | Ak | Bay | 120 |
2 | Canan | Öz | Bayan | 560 |
3 | Mehmet | Sağlam | Bay | 87 |
4 | Özge | Erken | Bayan | 49 |
Şeklinde bir veri tabanımız olduğunu düşünelim bu veritabanımızın sütunları; id, adi, soyadi, cinsiyet, okulno dur. Örnek tablomuzun adını ise ogrenciler yaptık.
Eğer biz verilerimizi çekerken tüm sütunlardaki verileri almak istiyorsak yani kayıt id kısmı, adı, soyadı, cinsiyetini, okul numarasını almak istiyorsak * işaretini kullanırız;
SELECT * FROM ogrenciler
Ama biz tüm verileri değil sadece ad, soyad ve cinsiyeti almak istiyorsak;
SELECT adi,soyadi,cinsiyeti FROM ogrenciler
Şeklinde bir komut yazarız.
Şuan hangi tablodaki hangi sütunları çekmek istediğimizi belirttik fakat hangi sıradaki veriye ait bilginin çekileceğini söylemedik. Bizim tablomuzda 4 adet veri mevcut. Bu 4 adet veriden hangisinin sütunlarının çekileceğini belirtmedik.
Burada ise tablodaki tüm verilerin tüm sütunlarını çekmek istiyorsak;
SELECT * FROM ogrenciler ORDER BY id DESC
Kullanabiliriz. Bu konuda bize yardımcı olan komut ORDER BY sutun DESC dir. ORDER BY sırala demektir, ORDER BY id dediğimiz zaman id’ye göre sıralayarak bir döngüye girer komutumuz ve tüm tablodaki verilerin tüm sütunlarını çeker. Burada DESC yazarsak en son id’den başlar;
4 id li verinin sütunlarını çeker,
3 id li verinin sütunlarını çeker,
2 id li verinin sütunlarını çeker,
1 id li verinin sütunlarını çeker ve biter.
Yani DESC son kayıttan ilk kayıta doğru bir sıralama gerçekleştirir. Bize gelen veriler en son kayıt olmuş veriden, ilk kayıt olan veriye doğrudur.
ORDER BY sutun ASC kullanırsak;
1 id li verinin sütunlarını çeker,
2 id li verinin sütunlarını çeker,
3 id li verinin sütunlarını çeker,
4 id li verinin sütunlarını çeker
Komutlara örnek tablomuz üzerinden birkaç sorgu ile bakacak olursak konu daha iyi anlaşılabilir diye düşünüyorum;
SELECT * FROM ogrenciler ORDER BY id DESC
Sorgusundan sonra sonuç;
id | adi | soyadi | cinsiyet | okulno |
4 | Özge | Erken | Bayan | 49 |
3 | Mehmet | Sağlam | Bay | 87 |
2 | Canan | Öz | Bayan | 560 |
1 | Ali | Ak | Bay | 120 |
SELECT * FROM ogrenciler ORDER BY id ASC
id | adi | soyadi | cinsiyet | okulno |
1 | Ali | Ak | Bay | 120 |
2 | Canan | Öz | Bayan | 560 |
3 | Mehmet | Sağlam | Bay | 87 |
4 | Özge | Erken | Bayan | 49 |
SELECT adi,soyadi,okulno FROM ogrenciler ORDER BY id DESC
adi | soyadi | okulno |
Özge | Erken | 49 |
Mehmet | Sağlam | 87 |
Canan | Öz | 560 |
Ali | Ak | 120 |
Bu kullanım yanı sıra eğer biz tablodaki tüm verileri değil belli bir sütundaki veriye göre kayıt çekmek istersek yani cinsiyet sütununda bay yazanlar yada bayan yazanlar veya id si 3 olan kayıt gibi.. Kullandığımız komut WHERE sutunadi = “aranan“ dır. Eğer bu şarta uyan birden fazla veri varsa bu komuttan sonra ORDER BY id DESC veya ORDER BY id ASC demek şarta uyan verileri sıralamamızı sağlar.
SELECT adi,soyadi,okulno FROM ogrenciler WHERE cinsiyet = "Bayan" ORDER BY id DESC
Sonuç;
adi | soyadi | okulno |
Özge | Erken | 49 |
Canan | Öz | 560 |
SELECT adi,soyadi,okulno FROM ogrenciler WHERE cinsiyet = "Bayan" ORDER BY id ASC
Dersek sonuç;
adi | soyadi | okulno |
Canan | Öz | 560 |
Özge | Erken | 49 |
SELECT * FROM ogrenciler WHERE id = "4"
Sonuç;
id | adi | soyadi | cinsiyet | okulno |
4 | Özge | Erken | Bayan | 49 |
İyi günler dilerim.
Yazılım Yazarı
(4878) kez okundu.