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 SELECT Kullanımı: Detaylı Rehber

SQL Dilinde SELECT Kullanımı: Detaylı Rehber

Veritabanı yönetim sistemlerinde (DBMS) depolanan verilere erişmek, manipüle etmek ve analiz etmek için kullanılan yapısal sorgu dili olan SQL (Structured Query Language), her veri uzmanı için temel bir araçtır. Bu dilin en temel ve en sık kullanılan komutlarından biri, veritabanından veri çekmek için tasarlanmış olan SELECT ifadesidir. SELECT, belirli sütunları, satırları veya tüm veri kümelerini alarak bir sorgu sonucunu oluşturmanızı sağlar. Bu makale, SELECT ifadesinin sözdizimini, parametrelerini ve pratik kullanım örneklerini detaylı bir şekilde açıklayacaktır.


Temel Sözdizimi


SELECT ifadesinin genel sözdizimi aşağıdaki gibidir:

SELECT [DISTINCT] sütun1, sütun2, ...
FROM tablo_adı
[WHERE koşul]
[GROUP BY sütunlar]
[HAVING koşul]
[ORDER BY sütunlar [ASC|DESC]]
[LIMIT sayı];

Yukarıdaki sözdiziminde köşeli parantez [] içine alınmış maddeler isteğe bağlıdır.


Detaylı Açıklama


  • SELECT: Veritabanından hangi sütunların alınacağını belirtmek için kullanılır. Birden fazla sütun virgül ile ayrılır. Tüm sütunları seçmek için * (yıldız) karakteri kullanılır.


  • DISTINCT (İsteğe Bağlı): Seçilen sütunlardaki yinelenen değerleri kaldırarak yalnızca benzersiz sonuçları döndürür. Eğer bu anahtar kelime kullanılmazsa, tüm eşleşen satırlar döndürülür.


  • FROM tablo_adı: Verilerin hangi tablodan çekileceğini belirtir. Bu madde zorunludur.


  • WHERE koşul (İsteğe Bağlı): Belirli bir koşula uyan satırları filtrelemek için kullanılır. Bu koşul, AND, OR, NOT gibi mantıksal operatörler ve karşılaştırma operatörleri (=, <>, >, <, >=, <=) ile oluşturulabilir.


  • GROUP BY sütunlar (İsteğe Bağlı): Sonuç kümesini bir veya daha fazla sütuna göre gruplamak için kullanılır. Genellikle COUNT(), SUM(), AVG(), MIN(), MAX() gibi toplama (aggregate) fonksiyonlarıyla birlikte kullanılır.


  • HAVING koşul (İsteğe Bağlı): GROUP BY ifadesiyle gruplanmış satırlara koşul uygulamak için kullanılır. WHERE, tek tek satırları filtrelerken, HAVING grupları filtreler.


  • ORDER BY sütunlar [ASC|DESC] (İsteğe Bağlı): Sonuç kümesini bir veya daha fazla sütuna göre sıralamak için kullanılır. ASC (ascending) artan sıralama, DESC (descending) azalan sıralama anlamına gelir. Varsayılan değer ASC'dir.


  • LIMIT sayı (İsteğe Bağlı): Sorgu sonucunda döndürülecek satır sayısını sınırlar. Bu ifade genellikle çok sayıda veri içeren tablolarda performansı artırmak veya yalnızca belirli bir sayıda sonuç almak için kullanılır. SQL Server'da bu işlevsellik TOP anahtar kelimesiyle, Oracle'da ise ROWNUM ile sağlanır.


Pratik Kullanım Örnekleri


Aşağıdaki örneklerde, Müşteriler adında bir tablo ve MüşteriID, Ad, Soyad, Şehir, Yaş, SiparişSayısı sütunları olduğunu varsayalım.


Örnek 1: Tüm Sütunları Seçme


Müşteriler tablosundaki tüm sütunları ve tüm satırları getirir.

SELECT *
FROM Müşteriler;

Örnek 2: Belirli Sütunları Seçme


Müşteriler tablosundan yalnızca Ad ve Soyad sütunlarını getirir.

SELECT Ad, Soyad
FROM Müşteriler;

Örnek 3: Koşullu Seçim (WHERE Kullanımı)


Yaşı 30'dan büyük olan müşterilerin Ad ve Soyad bilgilerini getirir.

SELECT Ad, Soyad
FROM Müşteriler
WHERE Yaş > 30;

Örnek 4: Benzersiz Değerleri Seçme (DISTINCT Kullanımı)


Müşteriler tablosunda bulunan benzersiz şehirleri listeler.

SELECT DISTINCT Şehir
FROM Müşteriler;

Örnek 5: Gruplama ve Toplama (GROUP BY ve COUNT Kullanımı)


Her şehirden kaç müşteri olduğunu sayar.

SELECT Şehir, COUNT(MüşteriID) AS MüşteriSayısı
FROM Müşteriler
GROUP BY Şehir;

Örnek 6: Gruplandırılmış Veriyi Filtreleme (HAVING Kullanımı)


Sadece 2'den fazla müşterisi olan şehirleri ve müşteri sayılarını listeler.

SELECT Şehir, COUNT(MüşteriID) AS MüşteriSayısı
FROM Müşteriler
GROUP BY Şehir
HAVING COUNT(MüşteriID) > 2;

Örnek 7: Sonuçları Sıralama (ORDER BY Kullanımı)


Müşterileri Soyad'a göre azalan (DESC) ve ardından Ad'a göre artan (ASC) sırada listeler.

SELECT Ad, Soyad, Şehir
FROM Müşteriler
ORDER BY Soyad DESC, Ad ASC;

Örnek 8: Sonuç Sayısını Sınırlama (LIMIT Kullanımı)


En genç 5 müşteriyi listeler (yaşı en küçük olanlar).

SELECT Ad, Soyad, Yaş
FROM Müşteriler
ORDER BY Yaş ASC
LIMIT 5;

İpuçları ve Önemli Notlar


  • Sütunları Belirtin: Performans ve okunabilirlik açısından, SELECT * yerine her zaman ihtiyacınız olan belirli sütunları belirtmek daha iyidir. Özellikle büyük tablolarda veya çok sütunlu tablolarda bu önemlidir.


  • Büyük/Küçük Harf Duyarlılığı: Çoğu SQL veritabanı (örneğin MySQL, PostgreSQL) tablo ve sütun adlarında büyük/küçük harf duyarlıdır. SQL Server gibi bazıları (varsayılan olarak) değildir. Kullandığınız veritabanının konfigürasyonunu kontrol edin.


  • WHERE ve HAVING Arasındaki Fark: WHERE ifadesi, veritabanından veri çekilmeden önce tek tek satırları filtrelerken, HAVING ifadesi, veriler GROUP BY ile gruplandıktan sonra gruplanmış sonuçları filtreler.


  • İndeks Kullanımı: WHERE ve ORDER BY yan tümcelerinde kullanılan sütunlara indeks eklemek, sorgu performansını önemli ölçüde artırabilir.


  • Veritabanına Özgü Sözdizimi: LIMIT yerine TOP (SQL Server) veya ROWNUM (Oracle) gibi veritabanına özgü anahtar kelimeler olabileceğini unutmayın. Her veritabanı sisteminin kendi küçük sözdizimi farklılıkları olabilir.


Yayınlanma Tarihi: 2025-10-13 14:57:40
JavaScript Dilinde Koşullu İfadeler: `if` ve `else` Yapıları
Önceki Haber

JavaScript Dilinde Koşullu İfadeler: `if` ve `else` Yapıları

JavaScript Makaleleri
Sonraki Haber

Python Dilinde Değişkenlerin Kullanımı

Python Makaleleri
Python Dilinde Değişkenlerin 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 AVG Fonksiyonu: Ortalamaları Hesaplama Kılavuzu
Bu ilginizi çekebilir

SQL AVG Fonksiyonu: Ortalamaları Hesaplama Kılavuzu

SQL (Yapısal Sorgu Dili), veritabanlarından bilgi almak ve manipüle etmek için kullanılan...