SELECT Sorgusu Nedir?
İngilizce: SELECT Statement
Yayın: · Son güncelleme:
SELECT Sorgusu Nedir? Kısaca
SELECT sorgusu, SQL'de bir veya birden fazla tablodan veri okumak için kullanılan komuttur. Hangi sütunların, hangi tablodan ve hangi koşula göre getirileceğini belirtir; veriyi değiştirmez.

SELECT sorgusu nedir?
SELECT, SQL'in en çok kullanılan komutudur ve veritabanından veri okumaya yarar. Sorgu sonucunda bir tablo görünümünde satırlar döner, ama kaynak tabloda hiçbir değişiklik olmaz. Bu yüzden öğrenmeye başlamak için en güvenli komuttur.
En basit hâli şöyledir: SELECT * FROM urunler; Bu komut "urunler" tablosundaki tüm sütunları ve satırları getirir.
Temel yapısı
Bir SELECT sorgusu genellikle şu parçalardan oluşur:
SELECT ad, fiyat
FROM urunler
WHERE kategori = 'kitap'
ORDER BY fiyat DESC
LIMIT 10;
SELECT hangi sütunların geleceğini, FROM hangi tablodan okunacağını söyler. WHERE satırları süzer, ORDER BY sıralar ve LIMIT kaç satır döneceğini sınırlar. Yukarıdaki varsayımsal sorgu, en pahalı 10 kitabı listeler.
Örnek senaryo
Küçük bir kırtasiye dükkânının stok tablosunda 3.000 ürün olduğunu düşünün. Stoğu 5 adetin altına düşen ürünleri görmek için SELECT ad, stok FROM urunler WHERE stok < 5; yazmanız yeterlidir. Sonuca tedarikçi adını da eklemek isterseniz tedarikçi tablosunu JOIN ile bağlarsınız.
Sık yapılan hatalar
Gerçek projelerde SELECT * yerine ihtiyaç duyulan sütunları tek tek yazmak daha verimlidir. Büyük tablolarda gereksiz sütun getirmek ağ trafiğini ve bellek kullanımını artırır. Metin karşılaştırmalarında büyük-küçük harf ve Türkçe karakter davranışı veritabanının ayarlarına bağlıdır; "İstanbul" ile "istanbul" farklı sonuç verebilir, bu yüzden sonucu küçük bir örnekle test edin.
Sıkça Sorulan Sorular
SELECT sorgusu veriyi değiştirir mi?
Hayır. SELECT yalnızca okuma yapar ve tablodaki verileri değiştirmez. Değişiklik için INSERT, UPDATE ve DELETE komutları kullanılır.
SELECT DISTINCT ne işe yarar?
DISTINCT, sonuçtaki tekrar eden satırları tekilleştirir. Örneğin müşteri tablosundaki farklı şehirleri birer kez listelemek için SELECT DISTINCT sehir FROM musteriler yazılır.