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ış.
görüşünü belirt
Arama
E-Posta Aboneliği
RSS Aboneliği
En Çok Yorumlanan Yazılar
- Blogger’da “devamını oku” bağlantısı (21)
- Ajax ile dinamik listeleme (21)
- MySQL’de Transaction ve PHP ile kullanımı (16)
- PHP ile sınırsız alt kategori mantığı (14)
- Kullanıcı dostu url hazırlamak (12)
- PHP’nin (muhtemelen) az bilinen 10 özelliği (12)
- Kullandığınız programlama dili ne kadar popüler? (12)
- MySQL’de “join” kullanımı (11)
- .htaccess konuları [Giriş] (11)
- Blogger’da arama kutusu ekleme (10)
Etiketler
Son Yorumlar
- isa engiz: Yazı için teşekkürler. sabit ip 2.75 tl. bu ücreti verip kendi web sunucumuzu kurabiliriz… En yakın...
- osman: Yazı için teşekkürler. Pardus projesinin Türkiye için çok önemli olduğunu düşünüyorum. Ancak yazıda da...
- Mustinet: siblings kullanarak da yazılabilir. Teşekkürler
- is: CSS kullanmadan sadece HTML kodlarıyla yanyana iki sütun (tablo kullanmadan) oluşturulabilir mi?
- Doğan Yılmaz: verdiğiniz bilgiler için çok ama çok teşekkür ederim. artık sıkı bir takipçiniz olmaya karar verdim
06 / Ağustos / 2008
tskler..