Ana içeriğe geç
eLearner.app

İnteraktif kurs

SQL Kursu

Tarayıcınızda çalışan gerçek bir Postgres ile SQL'i İngilizce olarak sıfırdan öğrenin.

01 · Modül 1 – Temel SEÇİM

4 ders

Temeller: bir tablodan veri okumak ve filtrelemek.

  1. 1.1SQL'e girişSQL nedir, neden kullanılır ve veritabanı neye benzer?~5 min
  2. 1.2SEÇİN … İÇİNDENEn basit sorgu: bir tablodan satırların okunması.~10 min
  3. 1.3WHERE ile filtrelemeYalnızca bir koşulu karşılayan satırların seçilmesi.~10 min
  4. 1.4ORDER BY ile sıralamaSonuçları artan veya azalan şekilde sıralamak.~8 min

02 · Modül 2 — Daha güçlü SEÇİM

4 ders

Sınırlayın, tekilleştirin, yeniden adlandırın ve sayın: Her gün kullandığınız araçlar.

  1. 2.1LIMIT ile sınırlamaÖrneğin skor tabloları oluşturmak için yalnızca ilk N satırın döndürülmesi.~6 min
  2. 2.2DISTINCT ile benzersiz değerlerBir SELECT sonucundan kopyaların kaldırılması.~6 min
  3. 2.3AS ile yeniden adlandırmaSonuçtaki sütunlara ve ifadelere daha okunaklı adlar verilmesi.~6 min
  4. 2.4Sayma ve özetleme: COUNT, AVG, MAXToplama işlevleri: birçok satırdan tek bir sayı elde etmek.~8 min

03 · Modül 3 — KATIL ve GRUPLAMA ŞARTI

4 ders

Birden fazla tabloyu birleştirmek ve gruba göre raporlar üretmek: her gerçek sorgunun kalbi.

  1. 3.1İki tabloyu birleştirmek: INNER JOINFarklı tablolardaki satırların ilişkilerini takip ederek birleştirilmesi.~12 min
  2. 3.2Her şeyi solda tutmak: LEFT JOINDiğer tabloda eşleşmeyen satırlar dahil.~10 min
  3. 3.3GROUP BY ile gruplamaGrup başına, örneğin departman başına bir toplamın hesaplanması.~10 min
  4. 3.4Grupları filtreleme: HAVINGToplamda yalnızca bir koşulu karşılayan grupları tutmak.~8 min

04 · Modül 4 – Pratik SQL

4 ders

Gerçek çalışmada fark yaratan araçlar: listeler, aralıklar, NULL'lar ve koşullu mantık.

  1. 4.1Listeler ve aralıklar: IN ve BETWEEN"Bunlardan biri" ve "A ile B arasında" için kompakt filtreler.~8 min
  2. 4.2NULL'ları İşleme: IS NULL ve COALESCEKayıp değerleri sürpriz olmadan tanımak ve bunlarla baş etmek.~10 min
  3. 4.3Koşullu mantık: CASE WHENDeğerleri doğrudan SELECT'te kategorilere dönüştürme.~10 min
  4. 4.4Bir diğerinin içindeki sorgu: alt sorgularBir SELECT sonucunun başka bir SELECT içinde kullanılması.~12 min

05 · Modül 5 — Gelişmiş JOIN'ler

4 ders

Çoklu tablo JOIN'ler, kendi kendine birleştirmeler, OUTER, CROSS ve set işlemleri: verileri bir profesyonel gibi birleştirin.

  1. 5.1Üç veya daha fazla tablodaki JOIN'lerTek bir sorguda bir ilişkiler zincirini geçme: siparişler → müşteriler → ürünler.~12 min
  2. 5.2Self-JOIN: kendi içinde bir tabloHiyerarşiler ve iç ilişkiler: iki role (çocuk ve ebeveyn) sahip bir tablonun okunması.~10 min
  3. 5.3OUTER JOIN: "boşlukları" bulmaEşleşmeyen satırları bulmak için LEFT/RIGHT/FULL OUTER JOIN'i kullanma.~10 min
  4. 5.4UNION, KESİŞTİ, HARİÇ (ve ÇAPRAZ KATIL)Sonuçların kümeler halinde birleştirilmesi: birleşim, kesişim, fark ve kartezyen çarpım.~12 min

06 · Modül 6 — Yerleşik işlevler

4 ders

PostgreSQL yerel işlevleriyle verileri dönüştürün ve yönetin: dizeler, tarihler, sayılar, tür dönüştürmeleri.

  1. 6.1Dize işlevleriALT, ÜST, UZUNLUK, birleştirme, ALTYAPI, KIRMA, DEĞİŞTİRME, BEĞENME ve BEĞENME.~12 min
  2. 6.2Tarih ve zaman damgası işlevleriEXTRACT, DATE_TRUNC, aralıklar ve tarih farklılıkları.~12 min
  3. 6.3Sayısal işlevlerYUVARLAK, TAVAN, ZEMİN, ABS, MOD ve tamsayıya karşı ondalık bölme.~10 min
  4. 6.4CAST ve tür dönüşümleri`::type` ve `CAST(... AS ...)` ile türler arasında dönüştürme.~10 min

07 · Modül 7 — Gelişmiş analitik

4 ders

Çok adımlı sorgular (CTE), sıralamalar ve çalışan toplamlar (pencere işlevleri), sınırsız hiyerarşiler (ÖYİNELEMELİ).

  1. 7.1CTE: İLE çok adımlı sorgularOkunabilirlik ve yeniden kullanım için karmaşık bir sorguyu adlandırılmış adımlara bölme.~12 min
  2. 7.2Pencere işlevleri: sıralamalar ve grup başına hesaplamalarGrup içi sıralamalar için ROW_NUMBER, RANK, DENSE_RANK ve OVER(PARTITION BY…)~14 min
  3. 7.3LAG, LEAD ve devam eden toplamlarHer satırı önceki/sonrakiyle karşılaştırmak ve kümülatif toplamları hesaplamak.~12 min
  4. 7.4Özyinelemeli CTE'ler: keyfi derinlikli hiyerarşilerKategoriler gibi hiyerarşiler arasında geçiş yapmak için ÖZYİNELENME İLE.~14 min

08 · Modül 8 — Veri yazma ve değiştirme

4 ders

Kısıtlamalarla INSERT, UPDATE, DELETE, CREATE TABLE, işlemler: döngüyü yazmalarla kapatma.

  1. 8.1Veri ekleme: INSERTTek ve çok satırlı INSERT, RETURNING yan tümcesi, sütunları açıkça seçiyor.~10 min
  2. 8.2Güncelleme ve silme: GÜNCELLEME ve SİLNEREDE ile ilgili seçici değişiklikler ve unutulan NEREDE'nin neden bir felaket olduğu.~10 min
  3. 8.3Tablolar ve kısıtlamalar oluşturma: DDLBİRİNCİL ANAHTAR, BOŞ DEĞİL, BENZERSİZ, YABANCI ANAHTAR, KONTROL ve VARSAYILAN İLE TABLO OLUŞTURUN.~12 min
  4. 8.4İşlemler: ya hep ya hiçBEGIN, COMMIT, ROLLBACK: bir grup işlemi atomik hale getirmek.~10 min

09 · Modül 9 – Veri yapıları ve DDL

4 ders

Tablolar, gelişmiş kısıtlamalar, karmaşık türler ve görünümler oluşturma ve değiştirme.

  1. 9.1Gelişmiş veri türleri ve ENUM'larSayısal türler, TEXT ve VARCHAR, BOOLEAN, UUID ve özel ENUM türleri.~10 min
  2. 9.2Çoklu ve tablo düzeyinde kısıtlamalarBileşik UNIQUE ve PRIMARY KEY kısıtlamaları, gelişmiş CHECK ve yabancı anahtarlar (ON DELETE CASCADE).~12 min
  3. 9.3Yapının değiştirilmesi: ALTER TABLEMevcut tablolara sütun veya kısıtlama ekleme, değiştirme ve kaldırma.~10 min
  4. 9.4Görünümler ve veri soyutlamaKarmaşık sorguları basitleştirmek için GÖRÜNÜMLER ve performans için MALZEMESEL GÖRÜNÜMLER oluşturma.~12 min

10 · Optimizasyon ve dizinler

4 ders

Sorguları hızlı yapma sanatı: dizinler, yürütme planları ve veritabanı optimizasyonu.

  1. 10.1İndeksler ve B-AğaçlarıBüyük tablolarda arama sorgularını önemli ölçüde hızlandırmak için dizinler oluşturun.~15 min
  2. 10.2AÇIKLAYIN ve ANALİZ EDİNDarboğazları teşhis etmek için veritabanı yürütme planlarını okumayı öğrenin.~15 min
  3. 10.3Bileşik ve kısmi indekslerDizinleri aynı anda birden fazla sütunda veya yalnızca verinin belirli bir bölümünde kullanın.~12 min
  4. 10.4N+1 problemiKötü şöhretli ORM performans sorunu ve bunu tek bir sorguyla aşmak için yerel SQL yöntemleri.~12 min

11 · İşlemler ve eşzamanlılık

4 ders

Eş zamanlı veri değişikliklerini güvenli bir şekilde yönetin: ACID işlemleri, kilitler ve izolasyon seviyeleri.

  1. 11.1ASİT işlemleri (BEGIN/COMMIT)BEGIN, COMMIT ve ROLLBACK ile verileri tutarlı tutun ve sorguları başkaları tarafından görülmeyecek şekilde tek bir blokta gruplandırın.~15 min
  2. 11.2Yarış koşullarıUç senaryolar: İki paralel veritabanı çalışanı aynı kullanıcı sepetinde hareket ettiğinde ne olur?~10 min
  3. 11.3Kilitleme ve GÜNCELLEME İÇİN SEÇOkuma sırasında satırları aktif olarak kilitleyerek diğer mutasyona uğrayan iş parçacıklarını sıralarını beklemeye zorlayın.~15 min
  4. 11.4İzolasyon seviyeleriSerileştirilebilir'i uygulayarak sınırları zorlayın veya güvenli olmayan ancak hızlı performans için Okuma Taahhütlü'ye bırakın.~12 min

12 · İşlevler ve tetikleyiciler

4 ders

Veritabanı içindeki iş mantığını otomatikleştirin: yeniden kullanılabilir işlevler yazın ve tetikleyicilerle olaylara tepki verin.

  1. 12.1UDF'ler ve temel SQLKarmaşık hesaplamaları özetlemek ve bunları her sorguda makrolar gibi yeniden kullanmak için kendi Kullanıcı Tanımlı İşlevlerinizi oluşturun.~15 min
  2. 12.2PL/pgSQL ile gelişmiş mantıkİşlevlerinize süper güçler verin: değişkenler, if-else dalları ve veritabanı içindeki saf prosedür tarzında döngüler.~15 min
  3. 12.3Tetikleyicilere girişGİDEN (ESKİ) veya GELEN (YENİ) kaydı anlık olarak inceleyebilecek özel fonksiyonlar tanımlayın.~15 min
  4. 12.4Pratik tetikleyiciler ve denetimGüvenliği otomatikleştirin: "updated_at" tarihini otomatik olarak güncelleyin ve silinen satırları uyumluluk için sihirli bir şekilde arşivleyin.~12 min

13 · Pencere işlevleri

4 ders

Satırları daraltmadan gelişmiş veri analizi: OVER(), PARTITION BY ve analitik işlevleri keşfedin.

  1. 13.1Giriş ve OVER cümleciğiOrijinal bireysel satırları korurken toplu hesaplamaları (SUM veya AVG gibi) çalıştırın.~15 min
  2. 13.2PARTITION BY ile gruplamaGROUP BY kullanmadan, işlevlerin uygulanacağı veriler içinde mantıksal gruplamalar (pencereler) oluşturun.~15 min
  3. 13.3Sıralamalar: ROW_NUMBER, RANK ve DENSE_RANKSonuçlara sıralı satır numaraları ve sıralamalar atayın ve bağları doğru şekilde ele alın.~15 min
  4. 13.4Geçişler: LAG ve LEADDeltaları ve varyasyonları hesaplamak için önceki veya sonraki satırdaki değerlere doğrudan geçerli satırdan erişin.~12 min

14 · CTE'ler ve hiyerarşik sorgular (WITH)

3 ders

Ortak Tablo İfadeleri ile büyük sorguları basitleştirin ve yinelemeli CTE'lerle sınırsız veri ağaçlarında gezinin.

  1. 14.1CTE'lere Giriş (ILE)Okunamayan iç içe geçmiş alt sorguları, geçici "sanal tablolar" bildirerek temiz bir prosedür biçimiyle değiştirin.~12 min
  2. 14.2Çoklu ve zincirleme CTE'lerİşlemeyi tek bir With ifadesi içinde birden çok ardışık adıma bölerek karmaşıklığı ortadan kaldırın.~15 min
  3. 14.3Özyinelemeli CTE'ler: ağaç şeklindeki verilerCTE'yi kendi içinden çağırarak yönetici hiyerarşilerinde ve üst-alt kategorilerde sınırsız gezinin.~18 min

15 · PostgreSQL JSON ve NoSQL

2 ders

Harici veritabanları kullanmadan JSON ve JSONB aracılığıyla esnek belge desteğiyle birleştirilmiş ilişkisel güçten yararlanın.

  1. 15.1JSON ve JSONB entegrasyonuKarmaşık belgeleri bir sütunda saklayın ve alanlarını ok operatörleriyle sorgulayın.~15 min
  2. 15.2JSON toplama işlevleriJson_build_object() ve json_agg()'ı kullanarak SQL'de yerel olarak anında JSON dosyaları veya nesne dizileri oluşturun.~15 min