MySQL sorgularında “AS” kullanımı

Date06 / Ağustos / 2008 Author İsa Engiz    Category mysql     Tags , , Yorumlar1 Yorum Yapilmis.

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; kitapyazaryayinevi . 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!

- Bu blogda yer alan yazıları RSS ile takip edebilirsiniz. RSS aboneliği için tıklayın.

- 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ış.

  • mirc 09 Ocak 2009, 11:19

    tskler..

görüşünü belirt

Spam Protection by WP-SpamFree

Arama


E-Posta Aboneliği


RSS Aboneliği

En Çok Yorumlanan Yazılar

Etiketler

404 ajax apache arama butonu as astrofizik açık kaynak banner blogger blogger/blogspot Blogger / Blogspot blogspot case chmod css date dosya yükleme editör etiket etkinlik favicon featured form ftp galeri Genel gimp hata sayfası header htaccess htpasswd ilişkisel veritabanı index innodb javascript join JQuery kategori koodla linux mysql opacity php resim url

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

Sayfalar


Faydalı Bağlantılar