MySQL sorgularında “AS” kullanımı
MySQL veritabanında tutacağınız verilerin sayısı arttıkça ilişkili veritabanına ihtiyacınız da zamanla artacaktır. Veritabanı tasarımınız yeterince iyiyse, veritabanı ne kadar şişerse şişsin, yine de satırların arasında kaybolmaz, istediğiniz veriyi kolaylıkla çekebilirsiniz.

Bu tür ilişkili veritabanı sorgularında bizim en büyük yardımcılarımızdan biri de “AS” komutudur. Bu yazıda da “as” komutunun kullanılışı üzerine tartışalım.
Amaç
“as” komutunun temel amacı kolaylık sağlamaktır. Sağladığı kolaylık iki farklı alanda kendini gösterir, sql sorgusunu kolaylaştırma (kimileri buna karşı çıkar) ve sorgu sonucu oluşan tablonun kullanılabilirliğini arttırma.
Örnek
Örnek olarak şu 3 tabloyu inceleyelim:
kitaplar:
| id | kitap_isim | yil | sayfa | fiyat | yazarid | yayineviid |
| 1 | saklı ev | 1995 | 255 | 20 | 1 | 2 |
| 2 | son moda | 2002 | 652 | 25 | 2 | 2 |
| 3 | gelecek | 2007 | 214 | 12 | 2 | 1 |
| 4 | bir umut | 2008 | 421 | 22 | 3 | 1 |
yazarlar:
| id | yazar_isim | soyisim | yas |
| 1 | ekrem | sever | 25 |
| 2 | orhan | veli | 35 |
| 3 | orhan | sevgi | 40 |
| 4 | isa | engiz | 23 |
yayinevleri:
| id | yayinevi_isim | adres | telefon |
| 1 | ufuk yayınevi | kalamış sok. no:12 | 2555555 |
| 2 | genişlik yayın | bakırcı yokuşu no:7 | 2555554 |
İlişkisel olarak veri saklanan bu tablolardan kitap ismi, yazar ismi ve yayınevi ismini çekmek istiyor olalım. Sonuç tablosunda da alanların isimleri bu şekilde olsun, yani; kitap – yazar – yayinevi . O halde şöyle bir sorgu oluşturacağız:
SELECT kitaplar.kitap_isim AS kitap, yayinevleri.yayinevi_isim AS yayinevi, yazarlar.yazar_isim AS yazar FROM kitaplar, yayinevleri, yazarlar WHERE kitaplar.yazarid = yazarlar.id AND kitaplar.yayineviid = yayinevleri.id ORDER BY kitaplar.id LIMIT 0 , 30
Select kelimesinden sonra belirttiğimiz alanlar, sonuç tablosunda yer alacak, biz burada as kullanarak sonuç tablosunda yer alacak bu sütunların isimlerini belrirtmiş oluyoruz, sonuçta şöyle bir sonuç tablosu ile karşılaşacağız:
| kitap | yayinevi | yazar |
| saklı ev | genişlik yayınevi | ekrem |
| son moda | genişlik yayınevi | orhan |
| gelecek | ufuk yayınevi | orhan |
| bir umut | ufuk yayınevi | orhan |
Dikkat ederseniz farklı tablolarda yer alan sütunlara erişmek için tablo_adı.sütun_adı şeklinde yazıyoruz kodumuzu, nokta ile tablo ve sütun adını ilşkilendiriyoruz. Ama her seferinde tablo adını yazmak uzun gelebilir, işte burada da yine “as” komutu imdadımıza yetişiyor, aşağıdaki kodu inceleyelim:
SELECT k.kitap_isim AS kitap, y.yayinevi_isim AS yayinevi, ya.yazar_isim AS yazar FROM kitaplar AS k, yayinevleri AS y, yazarlar AS ya WHERE k.yazarid = ya.id AND k.yayineviid = y.id ORDER BY k.id LIMIT 0 , 30
Kitablar tablosunun ismini “k”, yayınevlerini “y” ve yazarları da “ya” olarak kısalttık ve sorgumuzu oluştururken bu tablolara belirttiğimiz kısa isimler ile eriştik. “AS” komutunun bu alandaki kullanımının pratiklik sağladığı bir gerçek, ama dikkatli kullanılmazsa uzun sorgular içerisinde kaybolabiliriz!
Sonuç
MySQL’de AS kullanımı bu şekilde, özellikle ilişkisel veri tabanında yapılan sorgularda oldukça işimize yarar, geliştirme sürecini kısaltır.
Bir sonraki MySQL yazısında görüşmek üzere!
- Ya da bu blogda yer alan bütün yazıları içindekiler sayfasında görüntüleyebilirsiniz. Tıklayın!
MySQL sorgularında “AS” kullanımı yazısına 1 Yorum yapılmış.
Arama
E-Posta Aboneliği
RSS Aboneliği
En Çok Yorumlanan Yazılar
- Ajax ile dinamik listeleme (23)
- PHP ile sınırsız alt kategori mantığı (23)
- Blogger’da “devamını oku” bağlantısı (21)
- MySQL’de “join” kullanımı (17)
- MySQL’de Transaction ve PHP ile kullanımı (16)
- Kullanıcı dostu url hazırlamak (14)
- PHP’nin (muhtemelen) az bilinen 10 özelliği (12)
- Kullandığınız programlama dili ne kadar popüler? (12)
- Kullanıcı dostu URL oluşturma (2. teknik) (11)
- .htaccess konuları [Giriş] (11)
Etiketler
Son Yorumlar
- Murat: Güzel bir teknik, şu ana kadar sınırsız alt kategori lazım olmadı ama olmayacağı anlamına gelmiyor
- iilyas: Bu kodlar çalışmıyor arkadaşım. Localde olduğu içinmi acaba ?
- iilyas: Arkadaşım çok teşekkür ediyorum. Harika anlatmışsın ajaxla çalışmalara başlamak lazım estetik açısından.....
- Nuri: bende bu şekilde bir çalışma yaptım ancak bir sorunum var ne yaptıysam url den index.php bölümünü kaldıramadım....
- Kemal: Makale için çok teşekkürler, resimleri div tagları ile yapabilirmiyiz. Bu arada imagelara link verirsek daha...
06 / Ağustos / 2008
tskler..