Yeni Başlayanlar için Snowflake QUALIFY: Nedir ve Nasıl Kullanılır?
Bu rehber, Snowflake QUALIFY ifadesini anlaşılır kılar; alt sorgular olmadan pencere fonksiyonlarını filtreleyerek SQL sorgularını nasıl sadeleştireceğinizi gösterir—daha temiz ve daha hızlı analizler için idealdir.
Snowflake ile çalışan bir veri profesyoneli olarak, zaman zaman sorgu sonuçlarını pencere fonksiyonlarına göre filtrelemeniz gerekebilir. Geleneksel olarak bu, alt sorgular veya karmaşık filtreleme mantığı gerektirir. Ancak Snowflake güçlü bir alternatif sunar: QUALIFY ifadesi.
Bu rehberde, filtrelemeyi sadeleştirmek için QUALIFY kullanımını adım adım örneklerle ve en iyi uygulamalarla anlatacağım.
Snowflake'te QUALIFY İfadesi Nedir?
Snowflake'teki QUALIFY ifadesi, sonuçları pencere fonksiyonlarıyla filtrelemek için kullanılır. Pencere fonksiyonlarını ya SELECT listesinde tanımlayabilir ya da doğrudan QUALIFY ifadesi içinde referans verebilirsiniz.
Genellikle WHERE, ham satırları birleştirme/özetleme öncesinde filtrelerken, HAVING bir GROUP BY toplamasından sonra filtreleme yapar.
Buna karşılık QUALIFY, ROW_NUMBER(), RANK() ve DENSE_RANK() gibi SQL ifadelerinin sonuçlarını filtrelemeye imkân tanır. Yani pencere fonksiyonlarımızın çıktılarından yararlanıp hemen bunlar üzerinde filtre uygulayabiliriz.
QUALIFY'i, toplamlarda HAVING'in yaptığı işi pencere fonksiyonları için yapan bir ifade olarak düşünebilirsiniz—hesaplama tamamlandıktan sonra sonucu filtreler.
QUALIFY ifadesinin özellikle faydalı olduğu çeşitli kullanım senaryoları vardır:
Pencere fonksiyonlarının çıktısına göre sorgu sonuçlarını filtrelemeniz gerekir.
Alt sorgu ihtiyacını azaltarak SQL sorgularınızı sadeleştirmek istersiniz.
Veriyi bölümler (partition) içinde verimli şekilde sıralamanız, yinelenenleri ayıklamanız veya segmentlere ayırmanız gerekir.
Kategori başına en iyi performans gösteren kayıtları gerektiren bir rapor veya gösterge paneli hazırlıyorsunuzdur.
> Snowflake'e yeniyseniz, Introduction to Snowflake kursumuz, QUALIFY gibi ifadelere geçmeden önce uygulamalı bir başlangıç sunar. Ayrıca Snowflake’in daha geniş yeteneklerini bu yeni başlayanlara uygun eğitimle keşfedebilirsiniz.
Snowflake'te QUALIFY Sözdizimi
QUALIFY'in temel sözdizimini gözden geçirerek bölümlerini anlayalım. QUALIFY kullanan basit bir sorgu şöyle görünebilir:
Alışıldık SELECT ifadesini, ardından birkaç sütunu görürsünüz. Sonra bize rank adlı bir sütun oluşturmak için alışıldık biçimde yazılmış window_function() yer alır.
Tabloyu belirten FROM ifadesi ve en sonda da QUALIFY bulunur. Bu QUALIFY'i “window_function_condition” takip eder; bu genellikle bir eşitliktir ve QUALIFY rank = 1 gibi görünebilir.
Not:QUALIFY ifadesi içinde bir pencere fonksiyonunun takma adını (alias) referans verebilir veya tüm pencere fonksiyonu ifadesini yeniden yazabilirsiniz. Her iki yaklaşım da çalışır.
Artık QUALIFY'in genel yapısını bildiğinize göre, bu ifadeyi kullanarak bazı somut örnekler göstereceğim.
Örnek 1: Grup başına en üst N satırı filtreleme
Diyelim ki her departmandaki en yüksek maaş alan ilk 3 çalışanı bulmak istiyoruz. Önce QUALIFY kullanmayan bir örneğe bakalım, ardından bunu kullanan daha öz bir sürümü görelim.
/* First we have to rank all the employees */WITH ranked_employees AS(SELECT employee_id, department, salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees)/* Then we query to subquery and filter using WHERE */SELECT*FROM ranked_employees
WHERE rank <=3;Altyapı:
Gördüğünüz gibi, yukarıdaki örnek bir CTE gerektiriyor; oysa QUALIFY ile sorgu daha yalın hale geliyor:
SELECT employee_id, department, salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees
QUALIFY rank <=3;Altyapı:
Yukarıdaki sorgu, her departmandaki çalışanlara bir sıralama atar ve departman başına en iyi 3 kişiyi döndürür. Alt sorgu veya CTE olmadan, doğrudan filtrelemek için QUALIFY ifadesini kullanır. Bu, sorgu uzunluğu ve yanıt süresinin kritik olduğu gösterge panelleri veya API'ler için özellikle kullanışlıdır.
Örnek 2: Yinelenen kayıtları filtreleme
Bir tabloda yinelenen kayıtlar varsa ve bir derecelendirme fonksiyonuna göre yalnızca ilk görüneni tutmak istiyorsak, ROW_NUMBER() ile QUALIFY kullanabiliriz:
row_num sütunu, her müşteri için bölümlendirip sipariş tarihine göre sıralayarak oluşturulur. Bu, en erken olandan başlayarak her siparişe artan bir sıra numarası atar. QUALIFY row_num = 1 ile filtreleyerek her müşteri için yalnızca en erken siparişin tutulmasını sağlarız.
Bu teknik, veri temizleme sırasında yinelenenleri giderme (deduplikasyon) görevlerinde yaygın olarak kullanılır.
Örnek 3: Toplamalarda pencere fonksiyonuna göre filtreleme
Biraz daha ileri gidelim. Toplamsal pencere fonksiyonlarıyla QUALIFY kullanmak, daha esnek ve dinamik filtreleme sağlar.
Örneğin, maaşı departman ortalamasının üzerinde olan çalışanları bulmak istersek, pencere fonksiyonu üzerinde AVG() ile QUALIFY kullanabiliriz:
Bu tür bir mantık, akran grupları içinde aykırı değerleri veya en iyi performans gösterenleri belirlemek için harikadır.
> Bu tür daha karmaşık sorgular için SQL becerilerinizi güçlendirmek istiyorsanız, Intermediate SQL kursumuza göz atın.
Snowflake'te QUALIFY Kullanımı için En İyi Uygulamalar
İşte bir QUALIFY ifadesi için bazı en iyi uygulamalar ve kullanım alanları.
Karmaşık sorguları sadeleştirin
QUALIFY'in gücü, ekstra alt sorgular ve CTE'lere duyulan ihtiyacı ortadan kaldırarak sorguları sadeleştirme becerisinde yatar. Bu işlevsellikten yararlanın. Bir pencere fonksiyonu yazdığınızda ve çıktısına göre filtrelemeniz gerektiğinde, alt sorgu oluşturmadan QUALIFY kullanın.
Daha az CTE, daha kolay hata ayıklama, daha net mantık ve daha iyi bakım yapılabilirlik demektir.
QUALIFY'i diğer pencere fonksiyonlarıyla birleştirin
Daha rafine filtreleme için birden fazla pencere fonksiyonunu birleştirebilirsiniz. Örneğin, eşitlikleri çözmek ve sonuçları sınırlandırmak için ROW_NUMBER() ile RANK()'i birlikte kullanmak:
SELECT
employee_id,
department,
salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank,
ROW_NUMBER()OVER(PARTITIONBY department ORDERBY salary DESC, employee_id)AS row_num
FROM employees
QUALIFY rank <=3AND row_num <=3;Altyapı:
Bu sorgu, departmanında en yüksek 3 maaş sıralaması içine giren çalışanları döndürür. Ancak, ilk 3 içinde üçten fazla çalışan eşitlenirse, çalışan kimliğine göre sıralanan ilk üçü gösterir.
Performansla ilgili hususlar
Yazılan kod açısından QUALIFY sorguları sadeleştirirken, bazı performans yönleri dikkate alınmalıdır.
Pencere fonksiyonları hesaplama açısından maliyetli olabilir ve kötü yapılandırılmış sorgular kaynak tüketimini artırabilir. Şu kavramları aklınızda bulundurun:
Pencere fonksiyonları büyük veri kümelerinde hesaplama açısından maliyetli olabilir; bunları sürecinizin hangi aşamasında kullandığınıza dikkat edin.
Performansı iyileştirmek için uygun indeksleme ve bölümlendirme yapın.
Test sırasında daha yüksek verimlilik için QUALIFY ile birlikte LIMIT kullanın.
Pencere fonksiyonlarının karmaşıklığı nedeniyle QUALIFY ifadelerinde hatalara düşmek kolaydır. Karşılaşabileceğiniz yaygın sorunlar için bazı ipuçları aşağıda.
1. WHERE içinde pencere fonksiyonları kullanmak
Pencere fonksiyonlarını doğrudan WHERE içinde kullanmaya çalışmak hataya yol açar; çünkü WHERE, pencere fonksiyonları işlenmeden önce değerlendirilir.
-- This will cause an errorSELECT employee_id, department, salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees
WHERE rank =1;Altyapı:
Çözüm: Pencere fonksiyonlarından sonra değerlendirilen QUALIFY ifadesini kullanın.
SELECT employee_id, department, salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees
QUALIFY rank =1;Altyapı:
2. QUALIFY içinde koşul ifadesini atlamak
QUALIFY ifadesi, pencere fonksiyonlarının sonuçlarını filtrelemek için bir koşul (predicate) gerektirir. Koşulun atlanması hataya yol açar.
-- This will cause an errorSELECT employee_id, department, salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees
QUALIFY RANK()OVER(PARTITIONBY department ORDERBY salary DESC);Altyapı:
Çözüm:QUALIFY ifadesinin = 1 gibi bir koşul içerdiğinden emin olun; bu, en üst sıradaki satırı filtrelemek için kullanılabilir.
SELECT employee_id, department, salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees
QUALIFY rank =1;Altyapı:
3. Muğlak takma adlar
Bir sütun ve bir pencere fonksiyonu için aynı takma adı kullanmak, karışıklığa ve beklenmedik sonuçlara yol açabilir.
-- Potentially ambiguousSELECT salary AS rank,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees
QUALIFY rank =1;Altyapı:
Çözüm: Muğlaklığı önlemek için farklı takma adlar kullanın.
SELECT salary AS salary_amount,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS salary_rank
FROM employees
QUALIFY salary_rank =1;Altyapı:
4. Hatalı bölümlendirme veya sıralama
Pencere fonksiyonlarında PARTITION BY veya ORDER BY ifadelerinin hatalı belirtilmesi beklenmedik sonuçlara neden olabilir.
Çözüm: İstenen mantıkla eşleşecek şekilde bölümlendirme ve sıralamayı dikkatle tanımlayın. Örneğin, departman başına en yüksek maaş için:
SELECT employee_id, department, salary,
RANK()OVER(PARTITIONBY department ORDERBY salary DESC)AS rank
FROM employees
QUALIFY rank =1;Altyapı:
Sonuç
Snowflake'teki QUALIFY ifadesi, pencere fonksiyonlarına dayalı sonuçları filtrelemek için güçlü bir araçtır; alt sorgu ihtiyacını azaltır ve sorguları daha okunur hale getirir. Bunu etkin biçimde kullanmayı anlayarak, veri bilimcileri sıralanmış, gruplanmış veya toplanmış verilerle çalışırken sorgularını sadeleştirip verimliliği artırabilir.
HAVING, GROUP BY sonrasında toplanmış veriyi filtreler.
QUALIFY, pencere fonksiyonları uygulandıktan sonra sonuçları filtreler.
QUALIFY sorgu performansını artırır mı?⌄
QUALIFY sorguları sadeleştirip alt sorgu ihtiyacını azaltabilir; ancak performans veri boyutu ve indekslemeye bağlıdır. Uygun bölümlendirme performansın iyileştirilmesine yardımcı olabilir.
SUM() veya AVG() gibi sıralama dışı pencere fonksiyonlarıyla QUALIFY kullanabilir miyim?⌄
Evet, ancak filtreleme koşulunun mantıklı olduğundan emin olun. Örneğin, ortalamanın üzerindeki maaşlara göre çalışanları filtrelemek işe yarar, çünkü AVG() her bölüm için hesaplanabilir.
QUALIFY ile birden fazla pencere fonksiyonu kullanabilir miyim?⌄
Evet. Tek bir sorguda birkaç pencere fonksiyonunu birleştirebilir ve QUALIFY içinde mantıksal koşullarla bunlardan birine ya da birkaçına dayalı filtreleme yapabilirsiniz.
Snowflake'te QUALIFY’i ne zaman kullanmamalıyım?⌄
Mantığınız pencere fonksiyonlarına dayanmıyorsa veya QUALIFY, iç içe geçmiş karmaşık mantık nedeniyle sorgunun hata ayıklamasını zorlaştırıyorsa kullanmaktan kaçının.
QUALIFY, Snowflake’teki tüm pencere fonksiyonlarını destekler mi?⌄
Evet. ROW_NUMBER(), RANK(), DENSE_RANK(), NTILE() gibi fonksiyonlar ile OVER() kullanan toplamsal fonksiyonların tümü QUALIFY ile filtrelenebilir.
QUALIFY sadece Snowflake’e mi özgü?⌄
QUALIFY, Snowflake ve BigQuery gibi birkaç platformda desteklenir; ancak standart ANSI SQL’in parçası değildir, bu nedenle taşınabilirlik sorun olabilir.
QUALIFY’i CTE veya alt sorgular içinde iç içe kullanabilir miyim?⌄
Evet, QUALIFY Ortak Tablo İfadeleri (CTE) veya alt sorgular içinde kullanılabilir; bu da modüler SQL tasarımı için esneklik sağlar.
Snowflake’te QUALIFY ile ilgili hataları nasıl ayıklarım?⌄
Önce takma ad çakışmalarını kontrol edin, tüm pencere fonksiyonlarının doğru tanımlandığından emin olun ve performans veya mantık sorunlarını gidermek için Snowflake’in Query Profile aracını kullanın.
Mekânsal analiz, makine öğrenimi ve veri hatları konusunda deneyime sahip bir veri bilimciyim. GCP, Hadoop, Hive, Snowflake, Airflow ve diğer veri bilimi/mühendisliği süreçleriyle çalıştım.
Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Snowflake, önde gelen bir veri ambarı platformudur. Snowsight ile veriye erişim ve keşif için kullanıcı dostu SQL arayüzünü nasıl kullandıklarını öğrenin.
Snowflake ile çalışan bir veri profesyoneli olarak, zaman zaman sorgu sonuçlarını pencere fonksiyonlarına göre filtrelemeniz gerekebilir. Geleneksel olarak bu, alt sorgular veya karmaşık filtreleme mantığı gerektirir. Ancak Snowflake güçlü bir alternatif sunar:
QUALIFYifadesi.Bu rehberde, filtrelemeyi sadeleştirmek için
QUALIFYkullanımını adım adım örneklerle ve en iyi uygulamalarla anlatacağım.Snowflake'te QUALIFY İfadesi Nedir?
Snowflake'teki
QUALIFYifadesi, sonuçları pencere fonksiyonlarıyla filtrelemek için kullanılır. Pencere fonksiyonlarını yaSELECTlistesinde tanımlayabilir ya da doğrudanQUALIFYifadesi içinde referans verebilirsiniz.Genellikle
WHERE, ham satırları birleştirme/özetleme öncesinde filtrelerken,HAVINGbirGROUP BYtoplamasından sonra filtreleme yapar.Buna karşılık
QUALIFY,ROW_NUMBER(),RANK()veDENSE_RANK()gibi SQL ifadelerinin sonuçlarını filtrelemeye imkân tanır. Yani pencere fonksiyonlarımızın çıktılarından yararlanıp hemen bunlar üzerinde filtre uygulayabiliriz.QUALIFY'i, toplamlardaHAVING'in yaptığı işi pencere fonksiyonları için yapan bir ifade olarak düşünebilirsiniz—hesaplama tamamlandıktan sonra sonucu filtreler.QUALIFYifadesinin özellikle faydalı olduğu çeşitli kullanım senaryoları vardır:> Snowflake'e yeniyseniz, Introduction to Snowflake kursumuz, QUALIFY gibi ifadelere geçmeden önce uygulamalı bir başlangıç sunar. Ayrıca Snowflake’in daha geniş yeteneklerini bu yeni başlayanlara uygun eğitimle keşfedebilirsiniz.
Snowflake'te QUALIFY Sözdizimi
QUALIFY'in temel sözdizimini gözden geçirerek bölümlerini anlayalım.QUALIFYkullanan basit bir sorgu şöyle görünebilir:Alışıldık
SELECTifadesini, ardından birkaç sütunu görürsünüz. Sonra bizerankadlı bir sütun oluşturmak için alışıldık biçimde yazılmışwindow_function()yer alır.Tabloyu belirten
FROMifadesi ve en sonda daQUALIFYbulunur. BuQUALIFY'i “window_function_condition” takip eder; bu genellikle bir eşitliktir veQUALIFY rank = 1gibi görünebilir.Not:
QUALIFYifadesi içinde bir pencere fonksiyonunun takma adını (alias) referans verebilir veya tüm pencere fonksiyonu ifadesini yeniden yazabilirsiniz. Her iki yaklaşım da çalışır.> Pencere fonksiyonlarını tazelemeniz gerekiyorsa bu pencere fonksiyonları cheat sheet'ine göz atın.
Snowflake'te QUALIFY Kullanım Örnekleri
Artık
QUALIFY'in genel yapısını bildiğinize göre, bu ifadeyi kullanarak bazı somut örnekler göstereceğim.Örnek 1: Grup başına en üst N satırı filtreleme
Diyelim ki her departmandaki en yüksek maaş alan ilk 3 çalışanı bulmak istiyoruz. Önce
QUALIFYkullanmayan bir örneğe bakalım, ardından bunu kullanan daha öz bir sürümü görelim.Gördüğünüz gibi, yukarıdaki örnek bir CTE gerektiriyor; oysa
QUALIFYile sorgu daha yalın hale geliyor:Yukarıdaki sorgu, her departmandaki çalışanlara bir sıralama atar ve departman başına en iyi 3 kişiyi döndürür. Alt sorgu veya CTE olmadan, doğrudan filtrelemek için
QUALIFYifadesini kullanır. Bu, sorgu uzunluğu ve yanıt süresinin kritik olduğu gösterge panelleri veya API'ler için özellikle kullanışlıdır.Örnek 2: Yinelenen kayıtları filtreleme
Bir tabloda yinelenen kayıtlar varsa ve bir derecelendirme fonksiyonuna göre yalnızca ilk görüneni tutmak istiyorsak,
ROW_NUMBER()ileQUALIFYkullanabiliriz:row_numsütunu, her müşteri için bölümlendirip sipariş tarihine göre sıralayarak oluşturulur. Bu, en erken olandan başlayarak her siparişe artan bir sıra numarası atar.QUALIFY row_num = 1ile filtreleyerek her müşteri için yalnızca en erken siparişin tutulmasını sağlarız.Bu teknik, veri temizleme sırasında yinelenenleri giderme (deduplikasyon) görevlerinde yaygın olarak kullanılır.
Örnek 3: Toplamalarda pencere fonksiyonuna göre filtreleme
Biraz daha ileri gidelim. Toplamsal pencere fonksiyonlarıyla
QUALIFYkullanmak, daha esnek ve dinamik filtreleme sağlar.Örneğin, maaşı departman ortalamasının üzerinde olan çalışanları bulmak istersek, pencere fonksiyonu üzerinde
AVG()ileQUALIFYkullanabiliriz:Bu tür bir mantık, akran grupları içinde aykırı değerleri veya en iyi performans gösterenleri belirlemek için harikadır.
> Bu tür daha karmaşık sorgular için SQL becerilerinizi güçlendirmek istiyorsanız, Intermediate SQL kursumuza göz atın.
Snowflake'te QUALIFY Kullanımı için En İyi Uygulamalar
İşte bir
QUALIFYifadesi için bazı en iyi uygulamalar ve kullanım alanları.Karmaşık sorguları sadeleştirin
QUALIFY'in gücü, ekstra alt sorgular ve CTE'lere duyulan ihtiyacı ortadan kaldırarak sorguları sadeleştirme becerisinde yatar. Bu işlevsellikten yararlanın. Bir pencere fonksiyonu yazdığınızda ve çıktısına göre filtrelemeniz gerektiğinde, alt sorgu oluşturmadanQUALIFYkullanın.Daha az CTE, daha kolay hata ayıklama, daha net mantık ve daha iyi bakım yapılabilirlik demektir.
QUALIFY'i diğer pencere fonksiyonlarıyla birleştirin
Daha rafine filtreleme için birden fazla pencere fonksiyonunu birleştirebilirsiniz. Örneğin, eşitlikleri çözmek ve sonuçları sınırlandırmak için
ROW_NUMBER()ileRANK()'i birlikte kullanmak:Bu sorgu, departmanında en yüksek 3 maaş sıralaması içine giren çalışanları döndürür. Ancak, ilk 3 içinde üçten fazla çalışan eşitlenirse, çalışan kimliğine göre sıralanan ilk üçü gösterir.
Performansla ilgili hususlar
Yazılan kod açısından
QUALIFYsorguları sadeleştirirken, bazı performans yönleri dikkate alınmalıdır.Pencere fonksiyonları hesaplama açısından maliyetli olabilir ve kötü yapılandırılmış sorgular kaynak tüketimini artırabilir. Şu kavramları aklınızda bulundurun:
QUALIFYile birlikteLIMITkullanın.QUALIFY Sorgularında Sorun Giderme
Pencere fonksiyonlarının karmaşıklığı nedeniyle
QUALIFYifadelerinde hatalara düşmek kolaydır. Karşılaşabileceğiniz yaygın sorunlar için bazı ipuçları aşağıda.1. WHERE içinde pencere fonksiyonları kullanmak
Pencere fonksiyonlarını doğrudan
WHEREiçinde kullanmaya çalışmak hataya yol açar; çünküWHERE, pencere fonksiyonları işlenmeden önce değerlendirilir.Çözüm: Pencere fonksiyonlarından sonra değerlendirilen
QUALIFYifadesini kullanın.2. QUALIFY içinde koşul ifadesini atlamak
QUALIFYifadesi, pencere fonksiyonlarının sonuçlarını filtrelemek için bir koşul (predicate) gerektirir. Koşulun atlanması hataya yol açar.Çözüm:
QUALIFYifadesinin= 1gibi bir koşul içerdiğinden emin olun; bu, en üst sıradaki satırı filtrelemek için kullanılabilir.3. Muğlak takma adlar
Bir sütun ve bir pencere fonksiyonu için aynı takma adı kullanmak, karışıklığa ve beklenmedik sonuçlara yol açabilir.
Çözüm: Muğlaklığı önlemek için farklı takma adlar kullanın.
4. Hatalı bölümlendirme veya sıralama
Pencere fonksiyonlarında
PARTITION BYveyaORDER BYifadelerinin hatalı belirtilmesi beklenmedik sonuçlara neden olabilir.Çözüm: İstenen mantıkla eşleşecek şekilde bölümlendirme ve sıralamayı dikkatle tanımlayın. Örneğin, departman başına en yüksek maaş için:
Sonuç
Snowflake'teki
QUALIFYifadesi, pencere fonksiyonlarına dayalı sonuçları filtrelemek için güçlü bir araçtır; alt sorgu ihtiyacını azaltır ve sorguları daha okunur hale getirir. Bunu etkin biçimde kullanmayı anlayarak, veri bilimcileri sıralanmış, gruplanmış veya toplanmış verilerle çalışırken sorgularını sadeleştirip verimliliği artırabilir.Hazır mısınız Snowflake ve SQL becerilerinizi bir adım ileri taşımaya? Introduction to Snowflake kursumuzla başlayın, analitik sorgularınızı PostgreSQL pencere fonksiyonları kursu ile geliştirin veya kariyerinizi Associate Data Engineer in SQL eğitim yoluyla ilerletin!