Academy › 🗄️ SQL & Veritabanı › SELECT'in Gücü
🧪 Uygulama: Fiyat etiketi raporu
🔎 SELECT'in Gücü bölümü · Code Quest SQL & Veritabanı parkuru
Mağazanın vitrini için bir etiket raporu hazırlayalım. İstenen: her oyun için tek bakışta okunan bir satır, yanında KDV'li fiyat ve stok durumunun parasal karşılığı.
Adım 1 — İskelet. Önce hangi sütunların lazım olduğunu belirle: ad, fiyat, stok.
SELECT ad, fiyat, stok FROM oyunlar;
Adım 2 — Etiket metni. Ad ve yılı tek bir vitrin metnine dönüştür.
SELECT ad || ' (' || yil || ')' AS vitrin FROM turler;
HATA: no such column: yil
turler tablosunda yil sütunu yok — yanlış tablodan istedik. Hata mesajı bunu net söylüyor. Doğru tablo oyunlar.Adım 3 — KDV. Türkiye'de dijital ürünlerde KDV %20'dir; yani fiyatın 1.20 katı.
SELECT ad, fiyat, fiyat * 1.2 AS kdvli FROM oyunlar;
ad | fiyat | kdvli ───────────────┼───────┼─────────────────── Neon Drift | 199.9 | 239.88 Piksel Kale | 89.5 | 107.39999999999999 Gölge Avcısı | 249 | 298.8 Kelime Kulesi | 49.9 | 59.879999999999995 Yıldız Sürüsü | 149 | 178.79999999999998 Zaman Kapısı | 179.5 | 215.4 Robot Bahçesi | 79 | 94.8 Kara Yörünge | 299 | 358.8 Buz Vadisi | 129.9 | 155.88 Kule Savunması | 59.9 | 71.88 Derin Mavi | 219 | 262.8 Sessiz Ada | 99 | 118.8
Adım 4 — Hepsi bir arada. Vitrin metni, KDV'li fiyat ve stok değeri tek raporda:
SELECT ad || ' (' || yil || ')' AS vitrin, fiyat AS liste_fiyati, fiyat * 1.2 AS kdvli_fiyat, fiyat * stok AS rafin_degeri FROM oyunlar;
vitrin | liste_fiyati | kdvli_fiyat | rafin_degeri ──────────────────────┼──────────────┼────────────────────┼─────────────────── Neon Drift (2024) | 199.9 | 239.88 | 2398.8 Piksel Kale (2022) | 89.5 | 107.39999999999999 | 3580 Gölge Avcısı (2025) | 249 | 298.8 | 1743 Kelime Kulesi (2021) | 49.9 | 59.879999999999995 | 0 Yıldız Sürüsü (2023) | 149 | 178.79999999999998 | 3725 Zaman Kapısı (2024) | 179.5 | 215.4 | 1615.5 Robot Bahçesi (2020) | 79 | 94.8 | 2607 Kara Yörünge (2026) | 299 | 358.8 | 1495 Buz Vadisi (2019) | 129.9 | 155.88 | 2338.2000000000003 Kule Savunması (2021) | 59.9 | 71.88 | 3594 Derin Mavi (2025) | 219 | 262.8 | 657 Sessiz Ada (2023) | 99 | 118.8 | 1089
İşte gerçek bir iş çıktısı. Dikkat et: tabloya tek bir satır bile yazmadık. SELECT sadece okur ve sunar; veriyi değiştirmez. Bu yüzden SELECT ile deneme yapmak tamamen güvenlidir.
Raporun tek kusuru kuruşlardaki uzun kuyruklar. Onları ROUND(..., 2) ile temizleyeceğiz — ve satırları fiyata göre sıralamayı, sadece pahalı olanları göstermeyi de öğreneceğiz. Sırada WHERE var: istemediğin satırları eleme sanatı.
Kendini test et
Bu kodun çıktısı ne olur?
SELECT 7 % 3 AS kalan;
Cevabı gör
Çıktı:
1
% operatörü bölümden kalanı verir: 7 = 3*2 + 1.
Doğru mu, yanlış mı? — SELECT ile hesaplanan sütunlar tabloya kalıcı olarak eklenir.
Cevabı gör
Cevap: Yanlış
SELECT sadece okur. Hesaplar yalnızca o sonuç kümesinde yaşar; tablo değişmez.