SQL: COUNT, AVG, MIN, MAX, SUM Fonksiyonları ve Kullanımı

Veritabanı yönetim sistemlerinin vazgeçilmez unsurlarından biri olan SQL (Structured Query Language), veri işleme ve analizinde güçlü araçlar sunar. Bu makalede, SQL’in temel fonksiyonları olan COUNT, AVG, MIN, MAX, SUM gibi yerleşik fonksiyonları, kullanıcı tanımlı fonksiyonları (UDF’ler) ve prosedürleri ele alacağız. Bu fonksiyonların veri işleme ve hesaplama işlemlerindeki kritik rollerini, özellikle belirli bir kategoriye ait toplam satışların hesaplanması gibi pratik bir örnek üzerinden inceleyeceğiz. Veritabanı üzerinde karmaşık sorgular oluşturmak ve sonuçları analiz etmek, işletmelerin karar alma süreçlerini doğrudan etkiler. Bu nedenle, SQL fonksiyonlarını etkin bir şekilde kullanabilmek, veritabanı yöneticileri ve analistler için büyük önem taşır. Bu makale, SQL fonksiyonlarını daha iyi anlamanıza ve veritabanı işlemlerinizi daha verimli hale getirmenize yardımcı olmayı amaçlamaktadır.

SQL’in Temel Fonksiyonları: COUNT, AVG, MIN, MAX ve SUM

SQL’in temel fonksiyonları, veri kümeleri üzerinde hızlı ve etkili analizler yapmamızı sağlar. Bu fonksiyonlar, genellikle SELECT ifadeleriyle birlikte kullanılır ve tek bir sütun veya birden çok sütun üzerinde işlem yapabilirler:

  • COUNT: Bir tablodaki satır sayısını veya belirli bir koşulu sağlayan satır sayısını döndürür. Örneğin, COUNT(*) tüm satırları sayarken, COUNT(sutun_adi) ise belirtilen sütundaki NULL olmayan değerleri sayar.
  • AVG: Belirtilen sütundaki sayısal değerlerin ortalamasını hesaplar. NULL değerler dikkate alınmaz.
  • MIN: Belirtilen sütundaki en küçük değeri döndürür. Sayısal, metinsel veya tarihsel verilerle kullanılabilir.
  • MAX: Belirtilen sütundaki en büyük değeri döndürür. MIN fonksiyonu gibi, farklı veri türleriyle kullanılabilir.
  • SUM: Belirtilen sütundaki sayısal değerlerin toplamını hesaplar. NULL değerler göz ardı edilir.

Bu fonksiyonlar, özellikle büyük veri kümeleri üzerinde özet bilgiler elde etmek için son derece kullanışlıdır.

Kullanıcı Tanımlı Fonksiyonlar (UDF’ler)

Kullanıcı tanımlı fonksiyonlar (UDF’ler), SQL’in yerleşik fonksiyonlarının yetersiz kaldığı durumlarda veya belirli bir iş mantığını tekrar tekrar kullanmamız gerektiğinde devreye girer. UDF’ler, bir veya daha fazla parametre alıp geriye bir değer döndüren, özelleştirilmiş SQL kod bloklarıdır. UDF’ler, CREATE FUNCTION ifadesiyle oluşturulur ve diğer SQL ifadelerinde kullanılabilir. Örneğin, karmaşık bir matematiksel formülü hesaplayan veya özel bir tarih formatını dönüştüren bir UDF oluşturabilirsiniz. UDF’ler, kod tekrarını azaltır, okunabilirliği artırır ve karmaşık işlemleri basitleştirir, veritabanı performansını artırabilirler, çünkü optimize edilmiş bir şekilde çalışabilirler ve veriyi sunucu tarafında işleyebilirler.

Prosedürler ve Fonksiyonlar Arasındaki Farklar

Prosedürler ve fonksiyonlar, her ikisi de veritabanında saklanan ve yeniden kullanılabilen kod bloklarıdır. Ancak aralarında önemli farklar vardır:

  • Fonksiyonlar, mutlaka bir değer döndürmek zorundadır, prosedürler ise değer döndürmeyebilir.
  • Fonksiyonlar, SELECT ifadeleri içerisinde kullanılabilirken, prosedürler genellikle CALL veya EXECUTE ifadeleriyle çağrılır.
  • Fonksiyonlar, yan etkilere (side effects) sahip olmamalıdır, yani veritabanında değişiklik yapmamalıdır. Prosedürler ise veritabanında değişiklik yapabilir (örneğin, INSERT, UPDATE, DELETE işlemleri).
  • Prosedürler Transaction’ları kontrol etmemize izin verir. Fonksiyonlar ise içerisinde Transaction yönetimi yapılmasına izin vermez.

Bu farklar, hangi durumda fonksiyon veya prosedür kullanmamız gerektiğini belirler. Örneğin, bir hesaplama yapıp sonucu döndürmek istiyorsak fonksiyon, bir dizi işlemi gerçekleştirmek ve veritabanında değişiklik yapmak istiyorsak prosedür kullanmalıyız.

Örnek: Belirli Bir Kategoriye Ait Toplam Satışların Hesaplanması

Diyelim ki bir e-ticaret veritabanımız var ve “Elektronik” kategorisine ait toplam satışları hesaplamak istiyoruz. Bunu, SUM ve WHERE ifadelerini birlikte kullanarak kolayca yapabiliriz:

SELECT SUM(satis_tutari) FROM satislar WHERE kategori = ‘Elektronik’;

Bu sorgu, “satislar” tablosundaki “kategori” sütunu “Elektronik” olan tüm satırların “satis_tutari” sütunundaki değerleri toplar ve sonucu döndürür. Bu basit örnek, SQL fonksiyonlarının veri analizindeki gücünü göstermektedir. Daha karmaşık senaryolarda, UDF’ler veya prosedürler kullanarak bu tür hesaplamaları otomatikleştirebilir ve daha gelişmiş analizler yapabiliriz.

SQL fonksiyonları, veritabanı yönetiminin ve veri analizinin temel taşlarındandır. Bu makalede incelediğimiz COUNT, AVG, MIN, MAX, SUM gibi yerleşik fonksiyonlar, veri kümeleri üzerinde hızlı ve etkili özet bilgiler elde etmemizi sağlar. Kullanıcı tanımlı fonksiyonlar (UDF’ler) ise, özelleştirilmiş iş mantıklarını SQL’e dahil etmemize olanak tanır, kod tekrarını azaltır ve karmaşık işlemleri basitleştirir. Prosedürler, fonksiyonlardan farklı olarak, veritabanında değişiklik yapabilen ve daha geniş kapsamlı işlemler gerçekleştirebilen kod bloklarıdır. Örnek olarak ele aldığımız kategori bazlı toplam satış hesaplaması, SQL fonksiyonlarının pratik uygulamalarından sadece biridir. Bu fonksiyonları ve kullanım senaryolarını iyi anlamak, veritabanı yöneticilerinin, analistlerin ve yazılımcıların verimliliğini artırır, daha bilinçli kararlar almalarına yardımcı olur ve veri odaklı uygulamalar geliştirmelerini sağlar. SQL fonksiyonları, verinin gücünü ortaya çıkarmanın anahtarıdır.

Bir yanıt yazın