Veri Bilimi İçin SQL: Birleştirmeleri Anlama ve Yararlanma - KDnuggets

Veri Bilimi İçin SQL: Birleştirmeleri Anlama ve Yararlanma – KDnuggets

Kaynak Düğüm: 2805506

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak
Yazara göre resim
 

Veri bilimi, büyük ölçüde içgörüler çıkarmaya ve büyük miktarda veriden bilinçli kararlar almaya dayanan disiplinlerarası bir alandır. Bir veri bilimcinin araç kutusundaki temel araçlardan biri, ilişkisel veritabanlarını yönetmek ve değiştirmek için tasarlanmış bir programlama dili olan SQL'dir (Yapılandırılmış Sorgu Dili).

Bu yazıda SQL'in en güçlü özelliklerinden biri olan join'lere odaklanacağım.

SQL Birleştirmeleri, ortak sütunlara dayalı olarak birden çok veritabanı tablosundaki verileri birleştirmenize olanak tanır. Bu şekilde bilgileri bir araya getirebilir ve ilgili veri kümeleri arasında anlamlı bağlantılar oluşturabilirsiniz.

Birkaç vardır SQL birleştirme türleri:

  • İç birleşim
  • Sol dış katılma
  • Sağ dış birleşim
  • Tam dış birleştirme
  • Çapraz katılma

Her türü açıklayalım.

İç birleştirme, yalnızca birleştirilen her iki tabloda da eşleşme bulunan satırları döndürür. Eşleşmeyen satırları atarak, paylaşılan bir anahtara veya sütuna dayalı olarak iki tablodaki satırları birleştirir.

Bunu aşağıdaki şekilde görselleştiriyoruz.
 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak
Yazara göre resim
 

SQL'de bu tür birleştirme, JOIN veya INNER JOIN anahtar sözcükleri kullanılarak gerçekleştirilir.

Sol dış birleştirme, sol (veya birinci) tablodaki tüm satırları ve sağ (veya ikinci) tablodaki eşleşen satırları döndürür. Eşleşme yoksa sağ tablodaki sütunlar için NULL değerleri döndürür.

Bunu şu şekilde görselleştirebiliriz.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak
Yazara göre resim
 

Bu birleştirmeyi SQL'de kullanmak istediğinizde, LEFT OUTER JOIN veya LEFT JOIN anahtar kelimelerini kullanarak bunu yapabilirsiniz. İşte bundan bahseden bir makale sol birleştirme vs sol dış birleştirme.

Sağ birleştirme, sol birleştirmenin tam tersidir. Sağ tablodaki tüm satırları ve sol tablodaki eşleşen satırları döndürür. Eşleşme yoksa soldaki tablodaki sütunlar için NULL değerleri döndürür.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak
Yazara göre resim
 

SQL'de bu birleştirme türü RIGHT OUTER JOIN veya RIGHT JOIN anahtar kelimeleri kullanılarak gerçekleştirilir.

Tam dış birleştirme, her iki tablodaki tüm satırları döndürür; mümkün olduğunda satırları eşleştirir ve eşleşmeyen satırlar için NULL değerleri doldurur.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak
Yazara göre resim
 

Bu birleştirme için SQL'deki anahtar sözcükler FULL OUTER JOIN veya FULL JOIN'dir.

Bu birleştirme türü, bir tablodaki tüm satırları ikinci tablodaki tüm satırlarla birleştirir. Başka bir deyişle, Kartezyen çarpımı, yani iki tablonun satırlarının tüm olası kombinasyonlarını döndürür.

İşte anlaşılmasını kolaylaştıracak görselleştirme.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak
Yazara göre resim
 

SQL'de çapraz birleştirme sırasında anahtar kelime CROSS JOIN'dir.

SQL'de birleşim gerçekleştirmek için birleştirmek istediğimiz tabloları, eşleştirme için kullanılan sütunları ve gerçekleştirmek istediğimiz birleştirme türünü belirtmeniz gerekir. SQL'de tabloları birleştirmek için temel sözdizimi aşağıdaki gibidir:

SELECT columns
FROM table1
JOIN table2
ON table1.column = table2.column;

 

Bu örnek JOIN'in nasıl kullanılacağını gösterir.

FROM yan tümcesindeki ilk (veya soldaki) tabloya başvuruyorsunuz. Daha sonra JOIN ile takip edin ve ikinci (veya sağdaki) tabloya başvurun.

Daha sonra ON cümlesindeki birleştirme koşulu gelir. Burası, iki tabloyu birleştirmek için hangi sütunları kullanacağınızı belirleyeceğiniz yerdir. Genellikle, bir tablodaki birincil anahtar ve ikinci tablodaki yabancı anahtar olan paylaşılan bir sütundur.

Not: Birincil anahtar, bir tablodaki her kayıt için benzersiz bir tanımlayıcıdır. Yabancı anahtar, iki tablo arasında bir bağlantı kurar; yani, ikinci tablodaki birinci tabloya referans veren bir sütundur. Bunun ne anlama geldiğini size örneklerle göstereceğiz.

LEFT JOIN, RIGHT JOIN veya FULL JOIN kullanmak istiyorsanız, JOIN yerine bu anahtar kelimeleri kullanırsınız; koddaki diğer her şey tamamen aynıdır!

CROSS JOIN'de işler biraz farklıdır. Doğası gereği her iki tablodaki tüm satır kombinasyonlarını birleştirmektir. Bu nedenle ON cümlesine gerek yoktur ve sözdizimi şu şekilde görünür.

SELECT columns
FROM table1
CROSS JOIN table2;

 

Başka bir deyişle, FROM'da bir tabloya ve CROSS JOIN'de ikincisine referansta bulunursunuz.

Alternatif olarak, FROM'daki her iki tabloya da referans verebilir ve bunları virgülle ayırabilirsiniz; bu, CROSS JOIN'in kısaltmasıdır.

SELECT columns
FROM table1, table2;

Ayrıca masaları birleştirmenin özel bir yolu da vardır; masayı kendisiyle birleştirmek. Buna kendi kendine masaya katılma da denir.

Daha önce bahsedilen birleştirme türlerinden herhangi biri kendi kendine katılma için de kullanılabildiğinden, bu tam olarak farklı bir birleştirme türü değildir.

Kendi kendine katılmanın sözdizimi size daha önce gösterdiğime benzer. Temel fark, FROM ve JOIN'de aynı tabloya başvurulmasıdır.

SELECT columns
FROM table1 t1
JOIN table1 t2
ON t1.column = t2.column;

 

Ayrıca, bunları birbirinden ayırt etmek için tabloya iki takma ad vermeniz gerekir. Yaptığınız şey masayı kendisiyle birleştirmek ve ona iki masa gibi davranmaktır.

Bunu burada belirtmek istedim ama daha fazla ayrıntıya girmeyeceğim. Kendi kendine katılmayla ilgileniyorsanız, lütfen şu resimli kılavuza bakın: SQL'e kendi kendine katılma.

Bahsettiğim her şeyin pratikte nasıl çalıştığını size göstermenin zamanı geldi. kullanacağım SQL JOIN röportaj soruları SQL'deki her bir farklı birleştirme türünü sergilemek için StrataScratch'tan.

1. KATILIN Örnek

Microsoft'un bu sorusu her projeyi listelemenizi ve projenin bütçesini çalışana göre hesaplamanızı istiyor.

Pahalı Projeler

“Her projeye eşlenen projelerin ve çalışanların listesi verildiğinde, her çalışana tahsis edilen proje bütçesi miktarına göre hesaplayın. Çıktı, proje başlığını ve en yakın tam sayıya yuvarlanmış proje bütçesini içermelidir. Listenizi önce çalışan başına en yüksek bütçeye sahip projelere göre sıralayın.”

Veri

Soru iki tablo veriyor.

ms_projeler

id: int
Başlık: Varchar
bütçe: int

ms_emp_projects

emp_id: int
proje_kimliği: int

Şimdi tablodaki sütun kimliği ms_projeler tablonun birincil anahtarıdır. Aynı sütun tabloda da bulunabilir ms_emp_projects, farklı bir adla da olsa: project_id. Bu, tablonun ilk tabloya referans veren yabancı anahtarıdır.

Çözümümdeki tabloları birleştirmek için bu iki sütunu kullanacağım.

Kod

SELECT title AS project, ROUND((budget/COUNT(emp_id)::FLOAT)::NUMERIC, 0) AS budget_emp_ratio
FROM ms_projects a
JOIN ms_emp_projects b ON a.id = b.project_id
GROUP BY title, budget
ORDER BY budget_emp_ratio DESC;

 

JOIN kullanarak iki tabloyu birleştirdim. masa ms_projeler FROM'da referans verilirken, ms_emp_projects JOIN'den sonra başvurulur. Her iki tabloya da bir takma ad verdim, böylece daha sonra tablonun uzun adlarını kullanmama izin verdim.

Şimdi tabloları birleştirmek istediğim sütunları belirtmem gerekiyor. Hangi sütunların bir tablodaki birincil anahtar, başka bir tablodaki yabancı anahtar olduğunu daha önce belirtmiştim, bu yüzden onları burada kullanacağım.

Bu iki sütunu eşitliyorum çünkü proje kimliğinin aynı olduğu tüm verileri almak istiyorum. Ayrıca her sütunun önünde tabloların takma adlarını kullandım.

Artık her iki tablodaki verilere de erişimim olduğuna göre, sütunları SELECT'te listeleyebilirim. İlk sütun proje adıdır ve ikinci sütun hesaplanır.

Bu hesaplama, her projeye göre çalışan sayısını saymak için COUNT() işlevini kullanır. Daha sonra her projenin bütçesini çalışan sayısına bölüyorum. Ayrıca sonucu ondalık değerlere dönüştürüp sıfır ondalık basamağa yuvarlıyorum.

Çıktı

İşte sorgunun döndürdüğü şey.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak

2. LEFT JOIN Örneği

Bu birleşimin alıştırmasını şurada yapalım: Airbnb röportaj sorusu. Her şehir için sipariş sayısını, müşteri sayısını ve siparişlerin toplam maliyetini bulmanızı istiyor.

Müşteri Siparişleri ve Detayları

“Her şehir için sipariş sayısını, müşteri sayısını ve siparişlerin toplam maliyetini bulun. Yalnızca en az 5 sipariş veren şehirleri dahil edin ve sipariş vermemiş olsalar bile her şehirdeki tüm müşterileri sayın.

Her hesaplamanın çıktısını karşılık gelen şehir adıyla birlikte alın."

Veri

Size tablolar verildi müşteriler, ve emir.

müşteriler

id: int
ilk adı: Varchar
soy isim: Varchar
Kent: Varchar
adres: Varchar
telefon numarası: Varchar

emir

id: int
müşteri_kimliği: int
sipariş tarihi: datetime
sipariş detayları: Varchar
total_order_cost: int

Paylaşılan sütunların kimliği tablodan alınmıştır müşteriler ve tablodan cust_id emir. Tabloları birleştirmek için bu sütunları kullanacağım.

Kod

LEFT JOIN'i kullanarak bu soruyu nasıl çözeceğiniz aşağıda açıklanmıştır.

SELECT c.city, COUNT(DISTINCT o.id) AS orders_per_city, COUNT(DISTINCT c.id) AS customers_per_city, SUM(o.total_order_cost) AS orders_cost_per_city
FROM customers c
LEFT JOIN orders o ON c.id = o.cust_id
GROUP BY c.city
HAVING COUNT(o.id) >=5;

 

Tabloyu referans alıyorum müşteriler FROM'da (bu bizim soldaki tablomuz) ve LEFT ile JOIN'e girin emir müşteri kimliği sütunlarında.

Artık şehri seçebilir, şehirlere göre sipariş ve müşteri sayısını almak için COUNT()'u kullanabilirim ve şehre göre toplam sipariş maliyetini hesaplamak için SUM()'u kullanabilirim.

Tüm bu hesaplamaları şehirlere göre elde etmek için çıktıları şehirlere göre gruplandırıyorum.

Soruda ekstra bir istek daha var: “Yalnızca en az 5 sipariş veren şehirleri dahil edin…” Bunu başarmak için yalnızca beş veya daha fazla sipariş veren şehirleri göstermek için HAVING'i kullanıyorum.

Soru şu; neden kullandım? SOL KATILIN ve yok JOIN? İpucu şu soruda: “…ve sipariş vermemiş olsalar bile her şehirdeki tüm müşterileri sayın.” Tüm müşterilerin sipariş vermemiş olması mümkündür. Bu, tablodaki tüm müşterileri göstermek istediğim anlamına gelir müşteriler, LEFT JOIN'in tanımına mükemmel şekilde uyuyor.

JOIN'i kullansaydım, sipariş vermeyen müşterileri kaçıracağım için sonuç yanlış olacaktı.

Not: SQL'deki birleştirmelerin karmaşıklığı sözdizimine değil anlambilimine yansır! Gördüğünüz gibi her join aynı şekilde yazılıyor, sadece anahtar kelime değişiyor. Ancak her birleştirme farklı şekilde çalışır ve bu nedenle verilere bağlı olarak farklı sonuçlar üretebilir. Bu nedenle, her birleşimin ne yaptığını tam olarak anlamanız ve tam olarak istediğinizi döndürecek olanı seçmeniz çok önemlidir!

Çıktı

Şimdi çıktıya bir göz atalım.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak

3. RIGHT JOIN Örneği

RIGHT JOIN, LEFT JOIN'in ayna görüntüsüdür. Bu yüzden RIGHT JOIN'i kullanarak önceki sorunu kolayca çözebilirdim. Size nasıl yapılacağını göstereyim.

Veri

Tablolar aynı kalıyor; Sadece farklı bir birleştirme türü kullanacağım.

Kod

SELECT c.city, COUNT(DISTINCT o.id) AS orders_per_city, COUNT(DISTINCT c.id) AS customers_per_city, SUM(o.total_order_cost) AS orders_cost_per_city
FROM orders o
RIGHT JOIN customers c ON o.cust_id = c.id GROUP BY c.city
HAVING COUNT(o.id) >=5;

 

İşte değişenler. RIGHT JOIN kullandığım için tabloların sırasını değiştirdim. Şimdi masa emir soldaki olur ve masa müşteriler doğru olan. Birleştirme koşulu aynı kalır. Tabloların sırasını yansıtacak şekilde sütunların sırasını değiştirdim, ancak bunu yapmak gerekli değil.

Tabloların sırasını değiştirerek ve RIGHT JOIN'i kullanarak, herhangi bir sipariş vermemiş olsalar bile yine tüm müşterilerin çıktısını alacağım.

Sorgunun geri kalanı önceki örnektekiyle aynıdır. Aynı şey çıktı için de geçerli.

Not: Uygulamada, DOĞRU BİRLEŞTİR nispeten nadiren kullanılır. LEFT JOIN, SQL kullanıcılarına daha doğal göründüğü için onu daha sık kullanırlar. RIGHT JOIN ile yapılabilen her şey LEFT JOIN ile de yapılabilir. Bu nedenle RIGHT JOIN'in tercih edilebileceği özel bir durum yoktur.

Çıktı

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak

4. TAM KATILMA Örneği

Salesforce ve Tesla'nın sorusu 2020'de piyasaya sürülen ürün sayısı ile önceki yılda piyasaya sürülen ürün sayısı arasındaki net farkı saymanızı istiyor.

Yeni Ürünler

“Size yıllara göre şirket lansmanlarına ilişkin bir tablo veriliyor. 2020'de piyasaya sürülen ürün sayısı ile önceki yılda piyasaya sürülen ürün sayısı arasındaki net farkı saymak için bir sorgu yazın. Şirketlerin isimleri ve 2020 yılı için piyasaya sürülen net ürünlerin bir önceki yıla göre net farkı çıktı.”

Veri

Soru, aşağıdaki sütunları içeren bir tablo sağlar.

araba_launches

Yıl: int
Firma Adı: Varchar
Ürün adı: Varchar

Tek bir masa varken masaları nasıl birleştireceğim? Hımm, buna da bakalım!

Kod

Bu sorgu biraz daha karmaşık olduğundan yavaş yavaş açıklayacağım.

SELECT company_name, product_name AS brand_2020
FROM car_launches
WHERE YEAR = 2020;

 

İlk SELECT ifadesi 2020 yılındaki firma ve ürün adını bulur. Bu sorgu daha sonra alt sorguya dönüştürülecektir.

Soru sizden 2020 ile 2019 arasındaki farkı bulmanızı istiyor. O halde aynı sorguyu 2019 için yazalım.

SELECT company_name, product_name AS brand_2019
FROM car_launches
WHERE YEAR = 2019;

 

Şimdi bu sorguları alt sorgulara dönüştüreceğim ve bunları FULL OUTER JOIN kullanarak birleştireceğim.

SELECT *
FROM (SELECT company_name, product_name AS brand_2020 FROM car_launches WHERE YEAR = 2020) a
FULL OUTER JOIN (SELECT company_name, product_name AS brand_2019 FROM car_launches WHERE YEAR = 2019) b ON a.company_name = b.company_name;

 

Alt sorgular tablo olarak ele alınabilir ve bu nedenle birleştirilebilir. İlk alt sorguya bir takma ad verdim ve onu FROM yan tümcesine yerleştirdim. Daha sonra FULL OUTER JOIN'i şirket adı sütunundaki ikinci alt sorguyla birleştirmek için kullanıyorum.

Bu tür SQL birleşimini kullanarak, 2020'deki tüm şirket ve ürünlerin 2019'daki tüm şirket ve ürünlerle birleştirilmesini sağlayacağım.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak
 

Artık sorgumu sonlandırabilirim. Firma adını seçelim. Ayrıca, her yıl piyasaya sürülen ürün sayısını bulmak için COUNT() işlevini kullanacağım ve ardından farkı bulmak için bunu çıkaracağım. Son olarak çıktıyı şirkete göre gruplandıracağım ve ayrıca şirkete göre alfabetik olarak sıralayacağım.

İşte sorgunun tamamı.

SELECT a.company_name, (COUNT(DISTINCT a.brand_2020)-COUNT(DISTINCT b.brand_2019)) AS net_products
FROM (SELECT company_name, product_name AS brand_2020 FROM car_launches WHERE YEAR = 2020) a
FULL OUTER JOIN (SELECT company_name, product_name AS brand_2019 FROM car_launches WHERE YEAR = 2019) b ON a.company_name = b.company_name
GROUP BY a.company_name
ORDER BY company_name;

Çıktı

İşte şirketlerin listesi ve piyasaya sürülen ürünlerin 2020 ile 2019 arasındaki farkları.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak

5. CROSS JOIN Örneği

Deloitte'un bu sorusu CROSS JOIN'in nasıl çalıştığını göstermek için harikadır.

Maksimum İki Sayı

“Tek bir sayı sütunu verildiğinde, (x,y) ve (y,x) sayı çiftlerinin iki farklı permütasyon olduğunu varsayarak, iki sayının tüm olası permütasyonlarını düşünün. Daha sonra her permütasyon için iki sayının maksimumunu bulun.

Üç sütunun çıktısını alın: ilk sayı, ikinci sayı ve ikisinin maksimumu.”

Soru, (x,y) ve (y,x) sayı çiftlerinin iki farklı permütasyon olduğunu varsayarak, iki sayının tüm olası permütasyonlarını bulmanızı istiyor. Daha sonra her permütasyon için sayıların maksimumunu bulmamız gerekir.

Veri

Soru bize tek sütunlu bir tablo veriyor.

deloitte_numbers

numara: int

Kod

Bu kod, CROSS JOIN'in ve aynı zamanda kendi kendine birleştirmenin bir örneğidir.

SELECT dn1.number AS number1, dn2.number AS number2, CASE WHEN dn1.number > dn2.number THEN dn1.number ELSE dn2.number END AS max_number
FROM deloitte_numbers AS dn1
CROSS JOIN deloitte_numbers AS dn2;

 

FROM'daki tabloya başvuruyorum ve ona bir takma ad veriyorum. Daha sonra CROSS JOIN'den sonra referans vererek ve tabloya başka bir takma ad vererek CROSS JOIN'i kendisiyle birlikte kullanıyorum.

Artık iki masa olduğundan tek bir masayı kullanmak mümkün. Her tablodan sütun numarasını seçiyorum. Daha sonra iki sayının maksimum sayısını gösterecek bir koşul ayarlamak için CASE ifadesini kullanıyorum.

Burada neden CROSS JOIN kullanılıyor? Unutmayın, bu, tüm tablolardaki tüm satırların tüm kombinasyonlarını gösterecek bir SQL birleşimi türüdür. Soru tam da bunu soruyor!

Çıktı

İşte tüm kombinasyonların anlık görüntüsü ve ikisinden daha yüksek olan sayı.

 

Veri Bilimi İçin SQL: Birleşmeleri Anlamak ve Yararlanmak

Artık SQL birleştirmelerinin nasıl kullanılacağını bildiğinize göre, soru bu bilginin veri biliminde nasıl kullanılacağıdır.

SQL Katılımları, veri araştırması, veri temizleme ve özellik mühendisliği gibi veri bilimi görevlerinde çok önemli bir rol oynar.

SQL birleştirmelerinden nasıl yararlanılabileceğine dair birkaç örnek:

  1. Verileri Birleştirme: Tabloları birleştirmek, farklı veri kaynaklarını bir araya getirmenize olanak tanıyarak birden çok veri kümesindeki ilişkileri ve korelasyonları analiz etmenize olanak tanır. Örneğin, bir müşteri tablosunu bir işlem tablosuyla birleştirmek, müşteri davranışı ve satın alma kalıpları hakkında bilgi sağlayabilir.
  1. Veri doğrulama: Birleştirmeler veri kalitesini ve bütünlüğünü doğrulamak için kullanılabilir. Farklı tablolardaki verileri karşılaştırarak tutarsızlıkları, eksik değerleri veya aykırı değerleri tespit edebilirsiniz. Bu, veri temizlemede size yardımcı olur ve analiz için kullanılan verilerin doğru ve güvenilir olmasını sağlar.
  1. Özellik Mühendisliği: Birleştirmeler, makine öğrenimi modelleri için yeni özellikler oluşturmada etkili olabilir. İlgili tabloları birleştirerek anlamlı bilgiler çıkarabilir ve veriler içindeki önemli ilişkileri yakalayan özellikler oluşturabilirsiniz. Bu, modellerinizin tahmin gücünü artırabilir.
  1. Toplama ve Analiz: Birleştirmeler, birden çok tabloda karmaşık toplamalar ve analizler gerçekleştirmenize olanak tanır. Çeşitli kaynaklardan gelen verileri birleştirerek, verilere ilişkin kapsamlı bir görünüm elde edebilir ve değerli bilgiler elde edebilirsiniz. Örneğin, bir satış tablosunu bir ürün tablosuyla birleştirmek, satış performansını ürün kategorisine veya bölgeye göre analiz etmenize yardımcı olabilir.

Daha önce de belirttiğim gibi, birleştirmelerin karmaşıklığı sözdiziminde görünmüyor. Sözdiziminin nispeten basit olduğunu gördünüz.

Birleştirmelere yönelik en iyi uygulamalar da bunu yansıtır; zira onlar kodlamanın kendisiyle değil, birleştirmenin ne yaptığı ve nasıl performans gösterdiğiyle ilgilenir.

SQL'deki birleştirmelerden en iyi şekilde yararlanmak için aşağıdaki en iyi uygulamaları göz önünde bulundurun.

  1. Verilerinizi Anlayın: Verilerinizin yapısı ve ilişkileri hakkında bilgi edinin. Bu, uygun birleştirme türünü seçmenize ve eşleştirme için doğru sütunları seçmenize yardımcı olacaktır.
  1. Dizinleri Kullan: Tablolarınız büyükse veya sıklıkla birleşiyorsa, birleştirmek için kullanılan sütunlara dizinler eklemeyi düşünün. Dizinler sorgu performansını önemli ölçüde artırabilir.
  1. Performansa Dikkat Edin: Büyük tabloları veya birden çok tabloyu birleştirmek hesaplama açısından pahalı olabilir. Verileri filtreleyerek, uygun birleştirme türlerini kullanarak ve geçici tabloların veya alt sorguların kullanımını göz önünde bulundurarak sorgularınızı optimize edin.
  1. Test Edin ve Doğrulayın: Doğruluğundan emin olmak için birleştirme sonuçlarınızı her zaman doğrulayın. Sağlamlık kontrolleri yapın ve birleştirilen verilerin beklentilerinize ve iş mantığınıza uygun olduğunu doğrulayın.

SQL Katılımları, bir veri bilimci olarak size birden çok kaynaktan gelen verileri birleştirme ve analiz etme gücü veren temel bir kavramdır. Veri bilimcileri, farklı SQL birleştirme türlerini anlayarak, söz dizimlerinde uzmanlaşarak ve bunlardan etkili bir şekilde yararlanarak değerli içgörülerin kilidini açabilir, veri kalitesini doğrulayabilir ve veriye dayalı karar almayı teşvik edebilir.

Bunu nasıl yapacağınızı beş örnekle gösterdim. Veri bilimi projeleriniz için SQL ve join'lerin gücünden yararlanıp daha iyi sonuçlar elde etmek artık size kalmış.
 
 
Nate Rosidi bir veri bilimcisi ve ürün stratejisidir. Aynı zamanda analitik öğreten bir yardımcı profesördür ve kurucusudur. StrataScratch, veri bilimcilerinin en iyi şirketlerden gelen gerçek röportaj sorularıyla röportajlarına hazırlanmalarına yardımcı olan bir platform. onunla bağlantı kurun Twitter: StrataScratch or LinkedIn.
 

Zaman Damgası:

Den fazla KDNuggets