SQL SELECT Komutu: Veri Kasasından Elmaları Toplamak
- Hüseyin Erdem ÜNAL

- 28 Tem
- 4 dakikada okunur

Merhaba bilişim dünyasının kaşifleri! Bugünkü durağımız, veri tabanı dünyasının kalbine inmek ve SQL'in en temel ama en güçlü komutu olan SELECT'i detaylıca incelemek olacak. Geçtiğimiz yazımızda veri tabanı türlerine göz atmış, SQL ve NoSQL arasındaki farkları anlamıştık. Şimdi ise, o devasa veri kasalarından tam da ihtiyacımız olan bilgileri nasıl çekeceğimizi öğreneceğiz.
Veri Tabanı Bir Elma Kasası İse, SQL SELECT Komutu Elma Toplayıcınızdır!

Hayal edin ki önünüzde rengarenk elmalarla dolu kocaman bir kasa var. Bu kasa sizin veri tabanınızdaki bir tablo, her bir elma ise bu kasadaki bir veri satırı. Peki, siz bu kasadan sadece kırmızı elmaları, ya da en taze elmaları veya belirli bir bölgeden gelen elmaları almak isterseniz ne yaparsınız? İşte tam da bu noktada devreye SELECT komutu giriyor!
SQL'de:
Kasa (Tablo): Verilerin düzenli bir şekilde saklandığı yerdir. Her kasanın (tablonun) belirli bir adı vardır, örneğin Müşteriler, Ürünler veya Kategoriler.
Elmalar (Satırlar): Tablo içindeki her bir kayıttır. Bir Müşteriler tablosunda her satır, tek bir müşterinin bilgilerini (adı, soyadı, e-postası vb.) içerir.
Elmaların Özellikleri (Sütunlar/Kolonlar): Her elmanın bir rengi, boyutu, tatlılığı gibi özellikleri olduğu gibi, bir veri satırının da belirli özellikleri (adı, e-postası, yaşı vb.) vardır. Bunlara sütun denir.
SELECT komutu, bu "elma kasasından" hangi "elmaları" ve bu elmaların hangi "özelliklerini" almak istediğinizi söylemenizi sağlar.
SELECT Komutunun Temel Yapısı
SELECT komutunun en basit ve en sık kullanılan yapısı şöyledir:
SELECT sütun1, sütun2, ...
FROM tablo_adı;Veya tüm sütunları almak isterseniz:
SELECT *
FROM tablo_adı;Burada:
SELECT: Hangi bilgileri istediğinizi belirten anahtar kelime.
sütun1, sütun2, ...: Çekmek istediğiniz sütunların adları. Eğer hepsini istiyorsanız * (yıldız) kullanırsınız.
FROM: Hangi tablodan veri çekeceğinizi belirten anahtar kelime.
tablo_adı: Veri çekeceğiniz tablonun adı.
Elma kasası benzetmemize geri dönelim. Eğer kasadaki tüm elmalar yerine, sadece kırmızı elmaları toplamak isterseniz ne yaparsınız? İşte bu noktada WHERE anahtar kelimesi devreye girer. SELECT ile hangi sütunları çekeceğimizi belirttikten sonra, FROM ile hangi tablodan alacağımızı söyleriz. Ardından, WHERE ile hangi koşula uyan satırları (yani hangi elmaları) istediğimizi filtreleriz.
SELECT *
FROM elmalar
WHERE renk = 'kırmızı';WHERE komutuyla görüntülemek istediğimiz kayıtları belirli bir niteliğe göre filtreleyebiliriz. Bu, veri tabanındaki büyük bilgi yığınlarından sadece ihtiyacımız olanları ayıklamamızı sağlar.
Yine kasamızdaki kırmızı elmaların hangi illerden geldiğini görüntülemek istersek, SQL komutumuz şuna benzerdi:
SELECT il
FROM elmalar
WHERE renk = 'kırmızı';Bu örnekte, elmalar kasasından sadece renk özelliği 'kırmızı' olan elmaların il özelliğini çekmiş oluyoruz.
WHERE komutu, SQL'in en güçlü filtreleme araçlarından biridir ve ileriki yazılarımızda bu anahtar kelimenin sunduğu detaylı filtreleme seçeneklerini (eşittir, büyüktür, küçüktür, LIKE, BETWEEN, IN vb.) çok daha detaylı inceleyeceğiz.
Pratik Örneklerle SELECT
Şimdi gelin, bu öğrendiklerimizi W3Schools'un SQL Tryit Editor'ünde bulunan gerçek tablolar üzerinde uygulayalım. Bu editörü açarak (örneğin W3Schools'un SQL SELECT sayfasına gidip) örnekleri kendiniz de çalıştırabilirsiniz.

Sağdaki Your Database alanında üzerinde pratik yapabileceğiniz tablo isimlerini görebilirsiniz.
SQL Statement alanına SQL betiklerinizi yazabilir;
Result kısmında betiğinizin çıktısını görebilirsiniz.
Sonuçları görmek için Run SQL >> butonuna basmayı unutmayın.
Örnek 1: Customers Tablosundan Tüm Verileri Çekme
Diyelim ki Customers tablosundaki tüm müşteri bilgilerini görmek istiyoruz:
SELECT * FROM Customers;
Bu sorgu, Customers tablosundaki her satırı ve her sütunu bize döndürecektir. Yani kasadaki tüm elmaların tüm özelliklerini görmüş olacağız.
Örnek 2: Customers Tablosundan Belirli Sütunları Çekme
Sadece müşteri adlarını (CustomerName) ve yaşadıkları şehirleri (City) görüntülemek istiyorsak:
SELECT CustomerName, City
FROM Customers;
Bu sorgu, Customers tablosundaki her satırın CustomersName ve City kolonlarını bize döndürecektir. Yani kasadaki tüm elmaların isimlerini ve ile ait olduklarını görmüş olacağız.
Örnek 3: Categories Tablosundan Bilgi Çekme
Bir e-ticaret sitesinin Categories (Kategoriler) tablosunda hangi ürün kategorileri olduğunu görmek istersek:
SELECT CategoryName
FROM Categories;
Bu sorgu bize, veri tabanında tanımlı olan tüm kategori isimlerini listeleyecektir.
Bonus: SELECT ile Daha Karmaşık Sorgulara Giriş
Şimdiye kadar SELECT komutuyla belirli sütunları veya tüm sütunları nasıl çekeceğimizi gördük. Peki ya verileri çekerken aynı zamanda onları sıralamak veya belirli bir kritere göre filtrelemek istersek? İşte burada ORDER BY ve TOP gibi ek anahtar kelimeler devreye girer.
Diyelim ki Customers tablonuzdaki müşterileri ülkelerine göre sıralamak ve sadece ilk 5 müşteriyi görmek istiyorsunuz. Bu durumda sorgumuz şöyle olurdu:
SELECT TOP 5 CustomerName, City, Country
FROM Customers
ORDER BY Country ASC;
Bu sorgu ne yapıyor?
SELECT CustomerName, City, Country: Müşterinin adını, şehrini ve ülkesini çekiyoruz.
FROM Customers: Bu bilgileri Customers tablosundan alıyoruz.
ORDER BY Country ASC: Sonuçları Country (Ülke) sütununa göre alfabetik olarak, yani artan sırada (Ascending - ASC) sıralıyoruz. (Eğer DESC yazsaydık, azalan sırada sıralardı.)
TOP 5: Sorgu sonucundan sadece ilk 5 kaydı getiriyoruz.
Bu tür komutları bir araya getirerek, büyük veri kümelerinden çok daha spesifik ve anlamlı bilgiler elde edebiliriz. SELECT komutunun gücü, işte bu ek anahtar kelimelerle birleştiğinde ortaya çıkar.
Sonuç
Gördüğünüz gibi, SELECT komutu, veri tabanındaki bilgilere erişimin kapısını aralayan anahtardır. Veri tabanı ne kadar büyük ve karmaşık olursa olsun, doğru SELECT sorgularıyla istediğiniz bilgiye hızlıca ulaşabilirsiniz. Bu sadece başlangıç! SQL'in derinliklerine indikçe, WHERE (filtreleme), ORDER BY (sıralama), JOIN (tabloları birleştirme) gibi daha birçok güçlü komutla tanışacak ve veriyle etkileşim becerilerinizi çok daha ileriye taşıyacaksınız.
Gelecek yazılarımızda bu komutları ve daha fazlasını ele alacağız. Takipte kalın!




Yorumlar