Lajiverta Academy Satın Al — 499₺

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:

SQL
SELECT ad, 'Piksel Market' AS magaza
FROM turler;
▸ SONUÇ
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).

SQL
SELECT ad || ' — ' || fiyat || ' TL' AS etiket,
       fiyat * 0.3 AS kar_payi
FROM oyunlar;
▸ SONUÇ
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.

SQL
SELECT ad, puan * 2 AS iki_kat
FROM oyunlar;
▸ SONUÇ
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
💡 Kural: sonuç kümesi senin tasarımındır. Tabloda ne varsa onu göstermek zorunda değilsin; okuyan insana en faydalı biçimi kurgula.

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?

  • 1
  • 2
  • 3
Cevabı gör

Cevap: 3

Sütun sayısı SELECT listesindeki öğe sayısıdır: ad, hesaplanmış kdvli ve sabit birim = 3.