Academy › 🗄️ SQL & Veritabanı › SELECT'in Gücü
Sonuç kümesini tasarlamak
🔎 SELECT'in Gücü bölümü · Code Quest SQL & Veritabanı parkuru
Şimdiye kadar öğrendiklerini birleştirelim. SELECT bir tasarım aracıdır: kaynak tablo ne olursa olsun, sonucu istediğin biçimde kurgularsın. Sütun seç, hesapla, birleştir, isimlendir.
Sabit bir değeri her satıra yazdırabilirsin — raporlara kaynak damgası koymanın klasik yolu:
SELECT ad, 'Piksel Market' AS magaza FROM turler;
ad | magaza ─────────┼────────────── Aksiyon | Piksel Market Bulmaca | Piksel Market Yarış | Piksel Market Strateji | Piksel Market Macera | Piksel Market
Şimdi hepsini tek bir sorguda toplayalım: her oyun için tek satırlık bir etiket metni ve yanında hesaplanmış bir kâr payı (fiyatın %30'u).
SELECT ad || ' — ' || fiyat || ' TL' AS etiket, fiyat * 0.3 AS kar_payi FROM oyunlar;
etiket | kar_payi ─────────────────────────┼─────────────────── Neon Drift — 199.9 TL | 59.97 Piksel Kale — 89.5 TL | 26.849999999999998 Gölge Avcısı — 249.0 TL | 74.7 Kelime Kulesi — 49.9 TL | 14.969999999999999 Yıldız Sürüsü — 149.0 TL | 44.699999999999996 Zaman Kapısı — 179.5 TL | 53.85 Robot Bahçesi — 79.0 TL | 23.7 Kara Yörünge — 299.0 TL | 89.7 Buz Vadisi — 129.9 TL | 38.97 Kule Savunması — 59.9 TL | 17.97 Derin Mavi — 219.0 TL | 65.7 Sessiz Ada — 99.0 TL | 29.7
İlginç bir ayrıntı yakala: etikette 249.0 yazıyor ama fiyat sütununda 249 görünüyordu. Sayı metne çevrilirken SQLite ondalıklı tipi (REAL) "249.0" diye yazar. Tip dönüşümleri sessizdir ama izlerini bırakır — 5. bölümde CAST ile bunu kontrol altına alacaksın.
Son bir alışkanlık: hesaplanmış sütunlarda NULL'ı unutma. Puanı olmayan oyunda hesap da NULL olur.
SELECT ad, puan * 2 AS iki_kat FROM oyunlar;
ad | iki_kat ───────────────┼──────── Neon Drift | 9.2 Piksel Kale | 8.4 Gölge Avcısı | 9.6 Kelime Kulesi | 7.8 Yıldız Sürüsü | 8.8 Zaman Kapısı | 9.4 Robot Bahçesi | 8 Kara Yörünge | NULL Buz Vadisi | 7 Kule Savunması | 8.2 Derin Mavi | 9.8 Sessiz Ada | 8.6
Kendini test et
Oyun adlarını "fiyat" başlığıyla değil, "etiket" başlığıyla göster.
SELECT ad ____ etiket FROM oyunlar;
Cevabı gör
Cevap: AS
AS ile takma ad verilir. (AS yazmadan da olur ama okunurluk ve hata riski için AS yaz.)
Bu sorguda kaç sütun döner?
123
Cevabı gör
Cevap: 3
Sütun sayısı SELECT listesindeki öğe sayısıdır: ad, hesaplanmış kdvli ve sabit birim = 3.