Lajiverta Academy Satın Al — 499₺

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.

SQL
SELECT ad, fiyat, stok
FROM oyunlar;

Adım 2 — Etiket metni. Ad ve yılı tek bir vitrin metnine dönüştür.

SQL
SELECT ad || ' (' || yil || ')' AS vitrin
FROM turler;
▸ SONUÇ
HATA: no such column: yil
⚠️ Dikkat! 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ı.

SQL
SELECT ad, fiyat, fiyat * 1.2 AS kdvli
FROM oyunlar;
▸ SONUÇ
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:

SQL
SELECT ad || ' (' || yil || ')' AS vitrin,
       fiyat            AS liste_fiyati,
       fiyat * 1.2      AS kdvli_fiyat,
       fiyat * stok     AS rafin_degeri
FROM oyunlar;
▸ SONUÇ
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ı.

💡 Bu bölümün özeti: AS isimlendirir, ifadeler hesaplar, || birleştirir, DISTINCT tekrarı eler. Dördü birlikte, ham veriyi rapora çeviren takımdır.

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.