Ana içeriğe geç
Kesit SQL
Temel · Alıştırma Kampı

Alıştırma Kampı: Müşteri verisi (10 soru)

Tek tabloda filtreleme, sıralama, gruplama ve metin işlemleri pratiği.

Uygulamada aç, 12 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Bol pratik, tek tablo

Dil öğrenirken olduğu gibi SQL'de de akıcılık tekrarla gelir. Bu kampta yalnızca customers tablosuyla 10 soru çözeceksin. Her soru bir öncekinden biraz daha zor. Takıldığında ipucuna bak; çözdüğün sorular Tekrar sayfasında yeniden karşına çıkacak.

Tablocustomers: customer_id, first_name, last_name, gender, birth_year, city, email, signup_date, segment. Veri setleri sayfasından inceleyebilirsin.

Nasıl çalışmalı?

  1. Soruyu oku ve sonuçta hangi sütunların, kaç satırın bekleneceğini tahmin et.
  2. Önce SELECT * ile ilgili satırlara bak; sonra sütunları ve koşulları ekle.
  3. Kontrol et'e basmadan önce Sadece çalıştır ile sonucu incele.
  4. İki denemede çözemezsen ipucuna bak; çözümü görmek XP'yi azaltır ama soruyu Tekrar listesine ekler.

Bu kampta en çok kullanacağın kalıplar

İhtiyaçKalıp
FiltreWHERE city = 'İzmir' AND gender = 'K'
Boş değerWHERE city IS NULL
DesenWHERE first_name LIKE 'E%'
Grup ve sayıGROUP BY city HAVING COUNT(*) >= 5
Koşullu sayımSUM(CASE WHEN segment = 'Premium' THEN 1 ELSE 0 END)
Metin parçasıSUBSTR(email, INSTR(email, '@') + 1)
TablolarYalnızca customers. Sütunların açıklamaları ve örnek satırlar Veri setleri sayfasında.

Derinleş: kampı gerçek bir iş gibi çalışmak

Bu on soru ayrı ayrı alıştırma gibi görünür, ama bir arada bir müşteri tabanı raporu oluşturur. Kampı aşağıdaki brifle çözersen hem hız hem iş refleksi kazanırsın.

Brif: CRM uzmanı“Gelecek ay e-posta ve SMS kampanyası başlatıyoruz. Kaç kişiye ulaşabiliriz, kimler, hangi şehirlerde? Cuma günü bana kısa bir müşteri tabanı kartı gönder.”

Çalışma planı

  1. Önce veriyi tanı. COUNT(*) ile COUNT(sütun) arasındaki fark, o sütundaki boş değer sayısıdır. Aşağıdaki sorgu 150 müşteriden 143'ünün şehrinin bilindiğini ve 12 farklı şehir olduğunu gösterir.
  2. Soruyu grupla. Filtre soruları (1–4), gruplama soruları (5–6, 8–9) ve dönüşüm soruları (7, 10) ayrı beceriler ister. Takıldığın grubu not et.
  3. Varsayımı yaz. Yaş için referans yıl 2024; e-postası boş müşteri kampanyaya giremez.
SELECT COUNT(*) AS satir, COUNT(city) AS sehir_dolu,
       COUNT(DISTINCT city) AS farkli_sehir, COUNT(email) AS email_dolu
FROM customers;

Kontrol listesi

Teslim

Yönetici özeti örneği150 müşterinin %56,7'si Bireysel, kalanı Premium ve Kurumsal arasında neredeyse eşit bölünüyor. 11 müşterinin e-postası boş; e-posta kampanyası en fazla 139 kişiye ulaşır. En kalabalık şehir İstanbul (28 müşteri); şehir hedeflemesi için ilk dört şehir tabanın yarıdan fazlasını kapsıyor.

Kendini değerlendir

ÖlçütBaşlangıçİyiMükemmel
Doğruluk10 sorunun 6–7'si10 sorunun hepsi, ipucuylaHepsi ipucusuz ve ilk denemede
NULL farkındalığıBoş değerler gözden kaçmışIS NULL doğru kullanılmışHer sonuçta boşların nereye gittiği açıklanabiliyor
HızSoru başına 10+ dakika5 dakika2–3 dakika ve kalıp ezberde
Alıştırmalara geç (12)