SQL 11: AS Sözcüğü ve Takma İsimler (Alias)
Bu yazı SQL’in daha karmaşık bölümlerine geçmeden önceki son yazı. Bundan önceki 10 (aslında 11) yazıda SQL için temel sayılabilecek konuları ele aldık. Bu yazıda ise karmaşık SQL sorgularında çok işimize yarayacak olan “takma isimler” (alias) konusunu işleyeceğiz. Takma isimler önceki konular göz önünde bulundurulduğunda çok da gerekli gibi görünmeyebilir ancak bundan sonraki konularda ne kadar gerekli hatta bazı durumlarda zorunlu olduğunu göreceğiz.
Not: Bu arada diğer SQL derslerine buradan ulaşabilirsiniz
Not: Alias kelimesi için sözlükte bir çok karşılık var. Bana “takma isim” uygun gibi geldi, ama daha iyi bir önerisi olan varsa yazıyı güncelleyebilirim.
Örnekler için aşağıdaki uyeler tablosunu kullanacağız.
uye_adi | isim | soyisim | e-posta | cinsiyet |
---|---|---|---|---|
hrzafer | Harun Reşit | Zafer | [email protected] | E |
derya.z | Derya | Zaimoğlu | [email protected] | K |
meryem1990 | Meryem | Arkadaş | [email protected] | K |
eaydin | Emir | Aydın | [email protected] | E |
denizeri | Levent | Denizeri | [email protected] | E |
Gerek tablolara gerekse alanlara takma isim verebiliriz. Alanlar ile başlayalım:
Sorgu: Kullanıcıların isim ve soyisimleri
SELECT isim AS 'ad', soyisim AS 'soyad' FROM uyeler
ad | soyad |
---|---|
Harun Reşit | Zafer |
Derya | Zaimoğlu |
Meryem | Arkadaş |
Emir | Aydın |
Levent | Denizeri |
Gördüğünüz gibi sonuç kümesinde ilgili alanlar takma isimleri ile geldiler. Daha önceki yazılarda da sonuç kümesinin de aslında bir tablo olduğunu belirtmiştim. Bunu zihnimizin bir köşesine yazalım. Burada AS (ez diye okunur) sözcüğü “olarak” anlamında kullanılmış, isim AS ‘ad’ dediğimizde “isim alanını ‘ad’ olarak getir” demiş oluyoruz kısacası.
Şimdi de uyeler tablomuza takma isim verelim.
Sorgu: İsmi Derya olan bayanlar
SELECT u.isim , u.soyisim FROM uyeler u WHERE u.cinsiyet='K' AND u.isim='Derya'
isim | soyisim |
---|---|
Derya | Zaimoğlu |
Burada altını çizmek istediğim 2 husus var:
1-) Tablolara takma isim verirken AS sözcüğünü kullanmak zorunda değiliz. Sorguyu aşağıdaki gibi de yazabilirdik ama genelde bu teâmül uygulanır ve AS yalnızca alanlar için kullanılır.
SELECT u.isim , u.soyisim FROM uyeler AS u WHERE u.cinsiyet='K' AND u.isim='Derya'
2-) Dikkat ederseniz tablolara verdiğimiz takma adlar sonuç kümesinde bir değişikliğe yol açmıyor. Yalnızca SQL sorgumuzda bu kısaltmaları (takma isimleri) kullanıyoruz. Şu ana kadar sorgularda yalnızca bir tablo kullandığımız için çok da anlamlı gelmemiş olabilir bu örnekler. İlerleyen yazılarda takma isimlerin (alias) sebeb-i hikmeti daha iyi anlaşılacaktır.
Herkese kolay gelsin
İlgili Diğer Makaleler
- SQL 09: IN İşleci
- SQL 10: BETWEEN İşleci
- SQL 12: Sorguda Birden Fazla Tablo Kullanma: Join-1
- SQL 13: Sorguda Birden Fazla Tablo Kullanma: Join-2
12 Ocak 2010 Salı tarihinde yayınlandı.