Softmush.com, teknoloji, yazılım ve dijital dünyaya dair derinlemesine içeriklerle bilgiye ulaşmanın güvenilir adresi. - Softmush.com
“ Söz konusu olan vatansa, gerisi teferruat. ”
Mustafa K. Atatürk
SQL Dilinde MIN ve MAX Fonksiyonlarının Kullanımı

SQL Dilinde MIN ve MAX Fonksiyonlarının Kullanımı

SQL (Yapısal Sorgu Dili), veri tabanlarından bilgi çekmek, güncellemek ve yönetmek için kullanılan güçlü bir dildir. Veri analizi süreçlerinde sıkça karşılaşılan ihtiyaçlardan biri, bir veri setindeki en küçük veya en büyük değeri belirlemektir. Bu gereksinimi karşılamak üzere SQL, MIN() ve MAX() adlı iki önemli toplama (aggregate) fonksiyonu sunar. Bu fonksiyonlar, belirli bir sütundaki sayısal, tarih veya hatta metinsel değerler arasında en düşük veya en yüksek olanı hızlıca bulmanızı sağlar.

Sözdizimi


MIN() ve MAX() fonksiyonlarının temel sözdizimi oldukça basittir. Her iki fonksiyon da parametre olarak bir sütun adı alır.

SELECT MIN(kolon_adi)
FROM tablo_adi
WHERE kosul;
SELECT MAX(kolon_adi)
FROM tablo_adi
WHERE kosul;

Detaylı Açıklama


Yukarıdaki sözdiziminde yer alan her bir bileşenin anlamı aşağıda açıklanmıştır:

  • SELECT: Veri tabanından veri çekmek için kullanılan SQL komutudur. Bu komut ile hangi sütunların döndürüleceği belirtilir.

  • MIN(kolon_adi): Belirtilen kolon_adi sütunundaki en küçük (minimum) değeri döndüren toplama fonksiyondur. Sayısal değerler için en küçük sayıyı, tarih değerleri için en eski tarihi, metinsel değerler için ise alfabetik olarak en başta gelen değeri bulur.

  • MAX(kolon_adi): Belirtilen kolon_adi sütunundaki en büyük (maksimum) değeri döndüren toplama fonksiyondur. Sayısal değerler için en büyük sayıyı, tarih değerleri için en yeni tarihi, metinsel değerler için ise alfabetik olarak en sonda gelen değeri bulur.

  • FROM tablo_adi: Sorgunun hangi tablodan veri çekeceğini belirtir.

  • WHERE kosul (Opsiyonel): Sorgu sonuçlarını belirli bir kritere göre filtrelemek için kullanılır. Sadece bu koşulu sağlayan satırlar MIN() veya MAX() fonksiyonuna dahil edilir.

Örnekler


Aşağıdaki örneklerde, bir Urunler tablosu kullanıldığı varsayılmıştır. Bu tablo, UrunID, UrunAdi, Kategori, Fiyat ve StokAdedi sütunlarını içermektedir.

Örnek 1: Tüm Ürünlerin En Düşük Fiyatını Bulma

Bu sorgu, Urunler tablosundaki tüm ürünler arasında en düşük fiyatı döndürecektir.

SELECT MIN(Fiyat) AS EnDusukFiyat
FROM Urunler;

Örnek 2: Tüm Ürünlerin En Yüksek Fiyatını Bulma

Bu sorgu, Urunler tablosundaki tüm ürünler arasında en yüksek fiyatı döndürecektir.

SELECT MAX(Fiyat) AS EnYuksekFiyat
FROM Urunler;

Örnek 3: Belirli Bir Kategorideki En Düşük Fiyatı Bulma

WHERE koşulunu kullanarak sadece 'Elektronik' kategorisindeki ürünlerin en düşük fiyatını bulabiliriz.

SELECT MIN(Fiyat) AS ElektronikEnDusukFiyat
FROM Urunler
WHERE Kategori = 'Elektronik';

Örnek 4: Her Kategori İçin En Yüksek Fiyatı Bulma

GROUP BY ifadesini kullanarak her bir kategori için ayrı ayrı en yüksek fiyatı bulabiliriz.

SELECT Kategori, MAX(Fiyat) AS KategoriEnYuksekFiyat
FROM Urunler
GROUP BY Kategori;

Örnek 5: En Az Stoğa Sahip Ürünün Stok Adedini Bulma

StokAdedi sütunundaki en küçük değeri bularak, bir ürünün minimum stok adedini belirleyebiliriz.

SELECT MIN(StokAdedi) AS MinimumStok
FROM Urunler;

Önemli Notlar


  • NULL Değerler: MIN() ve MAX() fonksiyonları, işleme alırken NULL değerleri genellikle göz ardı eder. Yani, bir sütunda NULL değerler varsa, bu değerler hesaplamaya dahil edilmez.

  • Veri Tipleri: Bu fonksiyonlar sayısal değerlerin yanı sıra tarih ve metin (string) tipleri üzerinde de çalışır. Tarihler için en eski/en yeni, metinler için ise alfabetik sıralamaya göre en düşük/en yüksek değeri döndürür.

  • DISTINCT Anahtar Kelimesi: MIN(DISTINCT kolon_adi) veya MAX(DISTINCT kolon_adi) şeklinde kullanım mümkündür, ancak MIN() ve MAX() zaten tek bir değer döndürdüğü için DISTINCT anahtar kelimesinin bu bağlamda pratik bir faydası genellikle yoktur.

  • Performans: Çok büyük veri setlerinde, MIN() ve MAX() sorgularının performansı, ilgili sütun üzerinde indeks olup olmamasına bağlı olarak değişebilir. İndeksler, bu tür sorguların daha hızlı çalışmasını sağlayabilir.

  • GROUP BY ve HAVING: Eğer MIN() veya MAX() fonksiyonlarını GROUP BY ile birlikte kullanıyorsanız ve gruplandırılmış sonuçlar üzerinde bir filtreleme yapmak istiyorsanız, WHERE yerine HAVING koşulunu kullanmanız gerekir. Örneğin, HAVING MAX(Fiyat) > 1000.

Yayınlanma Tarihi: 2025-10-17 07:00:20
JavaScript Dilinde RegExp (Düzenli İfadeler) Kullanımı
Önceki Haber

JavaScript Dilinde RegExp (Düzenli İfadeler) Kullanımı

JavaScript Makaleleri
Sonraki Haber

Python Dilinde Koşullu Mantık: If...Else Kullanımı

Python Makaleleri
Python Dilinde Koşullu Mantık: If...Else Kullanımı

Yorum yap

Yorum yapabilmek için  giriş  yapmalısınız.

Yorumlar

Bu yazı hakkında henüz yorum yapılmamıştır.
× SQL Dilinde WHERE Kullanımı: Detaylı Rehber
Bu ilginizi çekebilir

SQL Dilinde WHERE Kullanımı: Detaylı Rehber

SQL'de WHERE yan tümcesi, bir veri kümesinden belirli kriterlere uyan kayıtları seçmek,...