SQL ara düzey: birleştirme, alt sorgu, küme işlemleri
Her türden birleştirmeyi, ilişkili alt sorguları, EXISTS’i, küme işlemlerini ve koşullu ifadeleri kullanarak gerçek iş sorularını tek sorguda yanıtlarsın.
Seviye 201 · 19 ders · 15 pratik lab
Dersler
Birleştirmeler
- Birleştirme türleri: iç, sol, sağ, tam
- Tabloyu kendisiyle birleştirmek
- Çapraz birleştirme ve tarih dizisi
- Birleştirme tuzakları: çoğalan satırlar
- Yarı ve karşıt birleştirmeler
- Kısa görev: çalışanlar ve yöneticileri
Alt sorgular
- Tek değer döndüren alt sorgular
- IN ve EXISTS
- İlişkili alt sorgular
- Türetilmiş tablolar
- WITH ile okunur sorgular
- Kısa görev: ortalamanın üstünde harcayan müşteriler
İfadeler ve kümeler
- UNION, INTERSECT ve EXCEPT
- CASE ile koşullu sütunlar
- Üç değerli mantık ve COALESCE
- Koşullu toplamlar ve FILTER
- Metin ve tarih hesaplamaları
- Ekle ya da güncelle: ON CONFLICT ve ON DUPLICATE KEY
- Bitirme görevi: bir çevrimiçi mağazanın yönetim raporları
Pratik lablar
- Personeli yöneticileriyle listele: Turna Lojistik'in personel tablosunu kendisiyle birleştirerek herkesi yöneticisinin adıyla göster.
- Satış olmayan günleri de göster: Bir tarih serisi üretip satış tablosuyla birleştir ve satış olmayan günleri sıfırla göster.
- İki kaynaktaki farkları FULL JOIN ile bul: Depo sayımı ile sistem stoğunu karşılaştırıp yalnızca birinde olan ve miktarı farklı olan ürünleri çıkar.
- Ortalamanın üstünde harcayanları bul: Skaler alt sorgu ile ortalama sipariş tutarının üstünde harcayan müşterileri listele.
- Her kategorinin en pahalı ürünü: İlişkili alt sorgu ile her kategorinin en pahalı ürününü getir ve eşitlikleri doğru yönet.
- İç içe sorguyu WITH ile okunur yap: Üç kat iç içe yazılmış bir rapor sorgusunu adlandırılmış CTE'lere bölüp aynı sonucu üret.
- Bu ay alışveriş yapanları EXISTS ile bul: Bu ay en az bir siparişi olan müşterileri EXISTS ile listele.
- Hiç ödünç alınmamış kitapları bul: Defne Kitabevi'nde hiç ödünç verilmemiş kitapları NOT EXISTS ile çıkar ve LEFT JOIN çözümüyle karşılaştır.
- Her kategoriden alan müşterileri bul: Çift NOT EXISTS ile tüm kategorilerden en az bir ürün almış müşterileri bul.
- İki şubenin müşterilerini birleştir: İki şubenin müşteri listelerini UNION ile tekrarsız birleştir ve UNION ALL ile farkı göster.
- Durum kodlarını okunur metne çevir: Sipariş durum kodlarını CASE ile Türkçe etiketlere çevir ve durum başına adet çıkar.
- Koşullu toplamlarla tek satır rapor: Tek sorguda iade, iptal ve tamamlanan siparişlerin adet ve tutarlarını koşullu toplamlarla yan yana göster.
- Var olan ürünü güncelle, yoksa ekle: Tedarikçi fiyat listesini ON DUPLICATE KEY UPDATE ile ürün tablosuna işle.
- Stok sayımını upsert ile birleştir: Günlük sayım dosyasını ON CONFLICT ile mevcut stok tablosuna ekleyip miktarları topla.
- Çift kayıt üreten yükleme işini onar: Her çalıştığında tekrarlı satır üreten yükleme betiğini benzersiz anahtar ve upsert ile tekrar çalıştırılabilir yap.
Kurs hakkında
Her türden birleştirmeyi, ilişkili alt sorguları, EXISTS’i, küme işlemlerini ve koşullu ifadeleri kullanarak gerçek iş sorularını tek sorguda yanıtlarsın.
Ne öğreneceksin
- Birleştirmeler
- Alt sorgular
- İfadeler ve kümeler
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.