SQL Dilinde SQL Aliases Kullanımı
SQL (Yapısal Sorgu Dili), veritabanlarından bilgi almak, yönetmek ve değiştirmek için kullanılan güçlü bir dildir. Büyük ve karmaşık veritabanlarıyla çalışırken, sorguların anlaşılırlığı ve bakımı kritik öneme sahiptir. İşte bu noktada SQL Aliases (takma adlar) devreye girer. Aliases, tablolara veya sütunlara geçici olarak farklı bir ad atamanıza olanak tanır. Bu sayede sorgularınız daha kısa, daha okunabilir ve aynı zamanda daha yönetilebilir hale gelir. Özellikle uzun tablo adları, karmaşık sütun ifadeleri veya birden fazla tablonun birleştirildiği durumlarda aliases kullanımı, sorgu mantığını netleştirmek için vazgeçilmez bir araçtır.
Sözdizimi
SQL Aliases kullanımı iki ana formda incelenebilir: sütun aliases ve tablo aliases.
Sütun Aliases:
SELECT column_name AS alias_name
FROM table_name;veya
SELECT column_name alias_name
FROM table_name;Tablo Aliases:
SELECT alias_name.column_name
FROM table_name AS alias_name;veya
SELECT alias_name.column_name
FROM table_name alias_name;Detaylı Açıklama
Her iki alias türü de sorgunun kapsamı içinde geçerli olan geçici isimler atar ve veritabanındaki gerçek tablo veya sütun adlarını değiştirmez.
ASAnahtar Kelimesi: Sütun veya tablo aliases tanımlarkenASanahtar kelimesi isteğe bağlıdır. Ancak, sorgu okunabilirliğini artırdığı için genellikle kullanılması tavsiye edilir. Örneğin,SELECT column_name AS alias_nameifadesi,SELECT column_name alias_nameifadesine göre daha açıklayıcıdır.Sütun Aliases: Bir sütuna veya bir sütun ifadesine (örneğin, iki sütunun birleştirilmesi veya bir matematiksel işlem sonucu) geçici bir ad vermek için kullanılır. Bu, özellikle raporlama amacıyla daha anlamlı ve kullanıcı dostu başlıklar oluşturmak veya hesaplanmış değerlere kolayca referans vermek istediğinizde faydalıdır. Eğer takma ad boşluk içeriyorsa veya özel karakterler barındırıyorsa, çift tırnak (
") veya köşeli parantez ([]) içine alınması gerekebilir (veritabanı sistemine göre değişir).Tablo Aliases: Bir tabloya geçici bir ad vermek için kullanılır. Bu, genellikle karmaşık sorgularda, özellikle
JOINişlemleriyle birden fazla tablo birleştirildiğinde veya bir tablonun kendi kendine birleştirildiği (self-join) durumlarda sorguyu kısaltmak ve sütun adları arasındaki belirsizliği ortadan kaldırmak için çok kullanışlıdır. Tablo takma adları, sorgununFROMveyaJOINbölümlerinde tanımlanır ve sorgunun geri kalanında tabloya bu takma ad ile referans verilir.
Pratik Kullanım Örnekleri
Aşağıdaki örnekler, SQL Aliases'ın farklı senaryolarda nasıl kullanıldığını göstermektedir. Örneklerde Musteriler (MusteriID, Ad, Soyad, Email) ve Siparisler (SiparisID, MusteriID, SiparisTarihi, ToplamTutar) adında iki tablonun var olduğu varsayılmıştır.
Örnek 1: Sütun Takma Adı ile Daha Okunabilir Çıktı
Müşterilerin ad ve soyadını tek bir sütunda 'Tam Adı' olarak görmek isteyelim.
SELECT
    Ad AS MusteriAdi,
    Soyad AS MusteriSoyadi,
    Ad || ' ' || Soyad AS TamAdi
FROM
    Musteriler;Bu sorgu, Ad sütununu MusteriAdi, Soyad sütununu MusteriSoyadi ve Ad ile Soyad'ı birleştirerek oluşan ifadeyi TamAdi olarak döndürür.
Örnek 2: Tablo Takma Adları ile JOIN Sorgusunu Kısaltma
Müşteri adlarını ve yaptıkları siparişlerin toplam tutarlarını listelemek isteyelim.
SELECT
    m.Ad,
    m.Soyad,
    s.SiparisID,
    s.ToplamTutar
FROM
    Musteriler AS m
JOIN
    Siparisler AS s ON m.MusteriID = s.MusteriID
WHERE
    s.ToplamTutar > 100;Burada Musteriler tablosuna m, Siparisler tablosuna ise s takma adı verilmiştir. Bu sayede sorgu içindeki referanslar (örneğin m.Ad yerine Musteriler.Ad) daha kısa ve nettir.
Örnek 3: Hesaplanan Sütuna Takma Ad Verme
Her siparişin ortalama tutarını hesaplayıp, bu ortalamayı 'Ortalama Sipariş Tutarı' olarak adlandıralım.
SELECT
    AVG(ToplamTutar) AS "Ortalama Sipariş Tutarı"
FROM
    Siparisler;Bu örnekte, hesaplanan AVG(ToplamTutar) değerine "Ortalama Sipariş Tutarı" adını verdik. Takma ad boşluk içerdiği için çift tırnak kullanılmıştır.
Örnek 4: Self-Join (Kendine Birleştirme) ile Takma Ad Kullanımı
Aynı şehirden iki farklı müşteriyi bulmak isteyelim (Musteriler tablosunda bir de Sehir sütunu olduğunu varsayalım).
SELECT
    m1.Ad AS Musteri1_Ad,
    m1.Soyad AS Musteri1_Soyad,
    m2.Ad AS Musteri2_Ad,
    m2.Soyad AS Musteri2_Soyad,
    m1.Sehir
FROM
    Musteriler AS m1
JOIN
    Musteriler AS m2 ON m1.Sehir = m2.Sehir AND m1.MusteriID <> m2.MusteriID;Musteriler tablosunu iki farklı takma ad (m1 ve m2) ile kendi kendine birleştirerek, aynı şehirden farklı müşterileri bulabiliyoruz. Takma adlar, hangi sütunun hangi 'versiyon'dan geldiğini netleştirmeye yardımcı olur.
Önemli Notlar
Geçici Kapsam: Aliases, yalnızca oluşturuldukları sorgunun yürütülmesi boyunca geçerlidir. Veritabanının şemasını kalıcı olarak değiştirmezler.
ASİsteğe Bağlıdır: Çoğu SQL veritabanındaASanahtar kelimesi, hem sütun hem de tablo takma adları için isteğe bağlıdır. Ancak, sorgunun okunabilirliğini artırmak için kullanılması şiddetle tavsiye edilir.Boşluklu veya Özel Karakterli Takma Adlar: Eğer bir takma ad boşluk içeriyorsa veya özel karakterler barındırıyorsa (örneğin,
"Toplam Satışlar"), veritabanı sisteminize bağlı olarak çift tırnak ("), köşeli parantez ([]) veya ters tırnak (` `) içine alınması gerekebilir.Kullanım Kısıtlamaları: Sütun takma adları genellikle
SELECT,ORDER BYveGROUP BYyan tümcelerinde kullanılabilir. Ancak, çoğu veritabanı sistemindeWHEREyan tümcesinde doğrudan kullanılamazlar. Bunun nedeni,WHEREyan tümcesi işlenirken sütun takma adlarının henüz tanımlanmamış olmasıdır. Bu tür durumlarda, takma adı içeren ifadeyi tekrar yazmanız veya bir alt sorgu (subquery) kullanmanız gerekebilir.Okunabilirlik ve Karmaşıklık: Aliases, sorguları kısaltarak ve anlaşılır hale getirerek okunabilirliği artırır. Ancak, aşırı kısa veya anlamsız takma adlar (örneğin,
a,bgibi) kullanmak, sorguyu başka bir geliştiricinin anlamasını zorlaştırabilir. İyi adlandırılmış takma adlar seçmek önemlidir.
        
                
            
            
Yorum yap
Yorumlar