SQL UNION vs UNION ALL: Farklılar, Örnekler ve Test Edilmiş Performans
Aralarındaki fark tek kelimedir, ancak yanlışı seçmek sessizce size yanlış toplamı verebilir. Her ikisini de gerçek veriler üzerinde görün, paylaştıkları kuralları öğrenin ve bunları bir milyon satırda zamanladığımızda neler olduğunu okuyun.
UNIONsonuçları birleştirir ve yinelenen satırları kaldırır.UNION ALLher satırı tutar.- Tekilleştirme maliyetleri işe yarar, dolayısıyla
UNION ALL‘in hesaplanması genellikle daha hızlıdır. SUM‘den önceUNION‘i kullanmak, gerçek değerleri sessizce kaldırabilir ve yanlış yanıt verebilir.- Özellikle kopyaların kaldırılmasını istemediğiniz sürece varsayılan olarak
UNION ALL‘dir.
Her iki operatör de iki sorgunun sonuçlarını üst üste yığdığından, SQL UNION vs UNION ALL küçük bir seçim gibi görünebilir. Değil. Fazladan bir kelime hem sonucunuzu hem de veritabanının ne kadar sıkı çalışması gerektiğini değiştirir.
Burada her sorguyu SQLite 3.50’de çalıştırdık ve gösterilen sonuçlar ve zamanlamalar bu çalıştırmalardan geliyor. Temel davranış, büyük veritabanlarında standart SQL’dir. Ancak zamanlamalar kendi veritabanınıza, verilerinize ve donanımınıza göre farklılık gösterecektir; bu nedenle bizimkini örnek olarak kullanın.
Kısa cevap
UNION iki sonuç kümesini birleştirir ve yalnızca farklı satırları döndürür. UNION ALL bunları birleştirir ve kopyalar dahil her şeyi döndürür. Bütün fark budur ve bu makalenin geri kalanı bunun neden önemli olduğuyla ilgilidir.
UNION vs UNION ALL yan yana
| Görünüş | BİRLİK | BİRLİK TÜMÜ |
|---|---|---|
| Yinelenen satırlar | Kaldırıldı | tutuldu |
| Ekstra iş | Kopyaları bulmalı | Yok |
| Normal hız | Daha yavaş | Daha hızlı |
| Satırlar geri döndü | Aynı veya daha az | Hepsi |
| SUM veya COUNT’tan önce güvenli mi? | Çoğu zaman hayır | Evet |
| Şunun için en iyisi: | Benzersiz listeler | Verileri, günlükleri ve toplamları birleştirme |
Örnek veriler
Online ve mağaza içi siparişleri ayrı tablolarda tutan bir mağaza düşünün. Asha’nın iki özdeş çevrimiçi siparişi ve mağazada bir özdeş siparişi olduğunu unutmayın.
CREATE TABLE online_orders (customer TEXT, total INT);
CREATE TABLE store_orders (customer TEXT, total INT);
INSERT INTO online_orders VALUES ('Asha',100), ('Ben',200), ('Asha',100);
INSERT INTO store_orders VALUES ('Asha',100), ('Dev',300);
Farkı görün
SELECT customer, total FROM online_orders
UNION
SELECT customer, total FROM store_orders;
-- Asha | 100
-- Ben | 200
-- Dev | 300
SELECT customer, total FROM online_orders
UNION ALL
SELECT customer, total FROM store_orders;
-- Asha | 100
-- Ben | 200
-- Asha | 100
-- Asha | 100
-- Dev | 300
Beş giriş satırı UNION ile üç oldu ve beşi de UNION ALL ile kaldı. Dikkat edilmesi gereken iki şey:
UNION, ilk tablodakiler de dahil olmak üzere, sonucun tamamından kopyaları kaldırdı. Bu sadece tablolar arasında karşılaştırma yapmak değildir.- Bir satır yalnızca seçilen her sütunun eşleşmesi durumunda kopya olarak sayılır.
Gerçekten farklı bir liste istediğinizde, UNION tam olarak doğrudur. Bu, her iki kanaldan da alışveriş yapan her müşteriye şunları sağlar:
SELECT customer FROM online_orders
UNION
SELECT customer FROM store_orders;
-- Asha
-- Ben
-- Dev
Yanlış toplam hatası
Seçimin gerçekten önemli olmasının nedeni budur. Toplam geliri istediğinizi varsayalım. Yukarıdaki siparişlerin toplamı 800’ü buluyor. Her operatörün neler verdiğini görün:
SELECT SUM(total) FROM (
SELECT total FROM online_orders
UNION
SELECT total FROM store_orders
);
-- 600
SELECT SUM(total) FROM (
SELECT total FROM online_orders
UNION ALL
SELECT total FROM store_orders
);
-- 800
UNION versiyonu 200 hatalı. Yalnızca total sütununu seçtiğimiz için, 100 rupi’lik üç ayrı emir kopya gibi göründü ve tek bir emirde birleşti. Hiçbir hata mesajı yok ve 600 tamamen inandırıcı bir sayı gibi görünüyor. Bu tür sessiz hatalar bir finans raporunda aylarca kalabilir.
İpucu: Aynı görünen iki sıra, iki gerçek etkinlik olabilir. UNION‘yi kullanmadan önce, aynı satırların iki kez kaydedilen aynı olguyu mu, yoksa iki farklı olguyu mu ifade ettiğini sorun. Satışlar, ödemeler ve günlük girişleri için genellikle ikincisidir.
Her ikisinin de uyması gereken kurallar
Her iki operatör de aynı gereksinimlere sahiptir:
- Her
SELECT, aynı sayıda sütunu döndürmelidir. - Sütunlar ada göre değil konuma göre eşleştirilir; bu nedenle onları aynı sırada tutun.
- Her konumdaki veri türleri uyumlu olmalıdır.
- Sonuç sütunu adları ilk
SELECT‘den gelir. ORDER BYen sona gider ve tüm sonuca uygulanır.
İlk kuralın çiğnenmesi hata verir. İşte SQLite’dan gelen mesaj:
SELECT customer, total FROM online_orders
UNION
SELECT customer FROM store_orders;
-- SELECTs to the left and right of UNION do not have
-- the same number of result columns
İkinci kural daha tehlikelidir çünkü hatasız başarısız olabilir. first_name ve last_name gibi aynı türden iki sütunu değiştirirseniz sorgu çalışır ve veriler yanlış çıkar. SQLite ayrıca türler konusunda da rahattır; PostgreSQL gibi veritabanları ise daha katıdır ve açık bir tanımlama gerektirebilir CAST.
Kaynağı etiketleyin
Çok pratik bir yöntem, her satırın nereden geldiğini gösteren sabit bir sütun eklemektir. Etiket farklı olduğundan, farklı tablolardaki satırlar artık birbirinin kopyası olarak değerlendirilemez.
SELECT customer, total, 'online' AS channel FROM online_orders
UNION ALL
SELECT customer, total, 'store' FROM store_orders
ORDER BY customer, channel;
-- Asha | 100 | online
-- Asha | 100 | online
-- Asha | 100 | store
-- Ben | 200 | online
-- Dev | 300 | store
Verileriniz bir etikete sahip olduğunda, satışları kanala göre raporlamak için GROUP BY seçeneğini kullanarak verileri gruplandırabilirsiniz. Birkaç adımı birleştirmeniz gerekiyorsa, okunabilir kalması için birleşimi CTE içine sarın.
Performans: Testimizde ne oldu?
Yinelenenleri kaldırmak için veritabanının satırları, genellikle sıralayarak veya karma hale getirerek karşılaştırması gerekir. UNION ALL bu adımı atlayabilir. Her biri 500.000 satırdan oluşan, 0’dan 50.000’e kadar rastgele sayılar içeren iki tablo oluşturduk, bu nedenle çok sayıda kopya vardı. Her sorguyu birkaç kez çalıştırdık ve en iyi zamanı koruduk.
Satırları programımıza geri göndermek için harcanan sürenin karşılaştırmayı etkilememesi için öncelikle sonuçları saydık:
| COUNT(*) içine sarılmış sorgu | Satırlar | En iyi zaman |
|---|---|---|
| BİRLİK | 50,001 | 261 ms |
| BİRLİK TÜMÜ | 1,000,000 | 1 ms’nin altında |
Büyük fark kısmen SQLite’ın her satırı okumadan bu sayıyı hesaplayabilmesinden kaynaklanmaktadır, bu yüzden lütfen bunu “binlerce kat daha hızlı” olarak okumayın. Ancak temel fikri gösteriyor: UNION gerçek iş yapmak zorundaydı ve UNION ALL bunu yapmadı.
Sonra tüm satırları Python’a getirdik ve sonuç tersine döndü:
| Sorgu, tüm satırları getiriyor | Satırlar geri döndü | En iyi zaman |
|---|---|---|
| BİRLİK | 50,001 | 277 ms |
| BİRLİK TÜMÜ | 1,000,000 | 392 ms |
Burada UNION ALL daha uzun sürdü çünkü yirmi kat daha fazla satır teslim etti. Tekilleştirme bunu yavaşlatmadı. Bir milyon satırın işlenmesi öyleydi. Dolayısıyla dürüst kural, veritabanının hesaplaması için UNION ALL‘nin daha ucuz olmasıdır, ancak sonucun boyutu da önemlidir. Çevrimiçi birçok grafik bunu “UNION ALL her zaman daha hızlıdır” şeklinde indirger ve testimiz bunun neden bu kadar basit olmadığını gösterir.
Yalnızca hıza göre de seçim yapmayın. Önce doğru cevabı veren operatörü seçin, ardından ayarlayın. Bir sorgu yavaşsa SQL sorgu optimizasyonu kılavuzumuzu okuyun.
Her biri ne zaman kullanılmalı
UNION ALL’ı aşağıdaki durumlarda kullanın:
- Aylık bölümler gibi benzer tablolardaki verileri birleştiriyorsunuz.
- Daha sonra toplamları veya sayıları hesaplayacaksınız.
- Girişlerin çakışamayacağını biliyorsunuz.
- Günlüklerde veya denetim kayıtlarında olduğu gibi kopyalar anlamlıdır.
UNION’u aşağıdaki durumlarda kullanın:
- İki sistemdeki her e-posta adresi gibi benzersiz bir listeye ihtiyacınız var.
- Örtüşen kaynaklar aynı gerçeği birden fazla kez içermektedir.
UNION ALL‘i varsayılan olarak kabul edin ve UNION‘yi bilinçli olarak kullanın. Erken filtrelemek için her dallara bir WHERE cümlesi eklemek her ikisine de yardımcı olur.
KESİŞTİ ve HARİÇ
Birbiriyle ilişkili iki küme operatörü farklı soruları yanıtlar. Her ikisi de aynı sütun kurallarına uyar:
SELECT customer FROM online_orders
INTERSECT
SELECT customer FROM store_orders;
-- Asha (bought in both channels)
SELECT customer FROM online_orders
EXCEPT
SELECT customer FROM store_orders;
-- Ben (online only)
Oracle geleneksel olarak EXCEPT yerine MINUS‘i kullanır ve bu operatörlere yönelik destek, veritabanına ve sürüme göre biraz farklılık gösterir.
UNION vs JOIN
Bunlar sıklıkla karıştırılır ancak verileri farklı yönlerde birleştirirler:
| Operasyon | Yön | Sonuç |
|---|---|---|
| BİRLİK | Dikey | Daha fazla satır ekler |
| KATILIN | Yatay | Daha fazla sütun ekler |
Yaygın hatalar
- Alışkanlık olarak UNION’u kullanma. Hızlanmanıza veya geçerli satırları kaldırmanıza mal olabilir.
- Çok az sütun seçilmesi. Kimlik bilgisinin atlanması, farklı satırların aynı görünmesine neden olur.
- Sütun sırası eşleşmiyor. Değerler hatasız olarak yanlış sütuna düşebilir.
- Her şubeye ORDER BY ekleniyor. En sonda bir kez sıralayın.
- Kötü bir birleştirmeye yama yapmak için UNION’u kullanma. Birleştirme nedeniyle kopyalar görünüyorsa birleştirmeyi düzeltin.
- Sonuç sırası varsayılıyor.
ORDER BYolmadan, her iki operatör için de satır sırası garanti edilmez.
Son sözler
Her seferinde bir soru sorun: aynı satırlar aynı gerçek mi, yoksa ayrı gerçekler mi? Ayrılarsa veya örtüşmeleri imkansızsa UNION ALL‘i kullanın. Benzersiz bir listeye ihtiyacınız varsa UNION‘yi kullanın. Kendi raporlarınızı kontrol etmek için kodunuzu SUM veya COUNT yakınında UNION olarak arayın ve bu toplamların gerçekten doğru olduğunu onaylayın.
Sık sorulan sorular
UNION ve UNION ALL arasındaki fark nedir?
UNION iki sonuç kümesini birleştirir ve yinelenen satırları kaldırır. UNION ALL bunları birleştirir ve kopyalar dahil her satırı tutar.
Hangisi daha hızlı, UNION mu yoksa UNION ALL mi?
UNION ALL’ın hesaplanması genellikle daha ucuzdur çünkü kopyaları kontrol etmez. Testimizin gösterdiği gibi çok daha büyük bir sonuç elde etmek genel olarak daha uzun sürebilir.
UNION bir tablodaki kopyaları kaldırıyor mu?
Evet. Hepsi aynı tablodan gelen aynı satırlar da dahil olmak üzere, birleştirilmiş sonucun tamamındaki kopyaları kaldırır.
Bir UNION’da sütun adlarının eşleşmesi gerekiyor mu?
Hayır. Sütunlar konuma göre eşleştirilir ve sonuç, ilk SELECT’teki adları kullanır. Sütun sayısı eşleşmeli ve türler uyumlu olmalıdır.
ORDER BY’yi UNION ile kullanabilir miyim?
Evet, ancak ifadenin en sonuna bir ORDER BY ekleyin. Tek bir dal yerine birleştirilmiş sonucun tamamını sıralar.
Öğrenmeye devam et
Test, WordPress veya SEO konusunda yardıma mı ihtiyacınız var?
Ekiplerin daha iyi yazılımlar sunmasına ve sitelerini büyütmesine yardımcı oluyoruz. Bize ne üzerinde çalıştığınızı söyleyin, biz de bir sonraki adım için net bir öneride bulunalım.
Daha fazla kılavuz test, yapay zeka ve modern geliştirme
Bu makaleyi beğendiniz mi? Bir konu seçin ve doğrudan en yeni eğitimlerimize geçin.
Yapay Zeka Halüsinasyonları Açıklandı: Dil Modelleri Neden İşleri Düzeltiyor ve Nasıl Azaltılabilir?
Yapay zeka halüsinasyonları açıkladı: ne olduklarını, dil modellerinin bunları neden ürettiğini, yaygın türlerini, temellendirme ve yönlendirmelerle…
Makaleyi okuyun →DevOpsAçıklanan Ortam Değişkenleri: .env Dosyaları, Sırlar ve Yapılandırma Doğru Yapıldı
Çalıştırdığımız Python örnekleriyle açıklanan ortam değişkenleri: bunları okumak ve ayarlamak, neden her değerin bir dize olduğu, .env dosyaları, sü…
Makaleyi okuyun →Yazılım geliştirmeAPI Hız Sınırlamasının Açıklaması: Algoritmalar, Başlıklar ve 429 Hatalarının Ele Alınması
API hızı sınırlaması, çalıştırdığımız bir simülasyonla açıklanmıştır: belirteç kümesi, sabit pencere, kayan pencere, 429 yanıt, hız sınırı başlıklar…
Makaleyi okuyun →Test otomasyonuPython'da alay etme: Unittest.mock, patch ve Testleri Yalan Yapan Hatalar
Unittest.mock ile Python'da alay etme, test edildi: Sahte ve dönüş_değeri, yan_etki, bir adın kullanıldığı yerde yama uygulama, spesifikasyon ve oto…
Makaleyi okuyun →Yazılım testiKod Kapsamının Açıklaması: Hat ve Şube Kapsamı ve %100'ün Gerçek Anlamı
Kod kapsamı gerçek bir kapsama.py çalışmasıyla açıklanmıştır: hat, şube ve durum kapsamı, bir raporun okunması, %100 kapsamın neden hâlâ hataları ka…
Makaleyi okuyun →Veritabanları ve SQLSQL'de DELETE vs TRUNCATE vs DROP: Farklılıklar, Geri Alma ve Her Biri Ne Zaman Kullanılmalı
DELETE vs TRUNCATE vs DROP test edilmiş SQL ile açıklandı: her birinin neyi kaldırdığı, geri aldığı, tetiklediği, kimlik sıfırlaması, hızı ve Postgr…
Makaleyi okuyun →Veritabanları ve SQLAçıklanan SQL Görünümleri: Örneklerle Tuzakları Oluşturun, Kullanın ve Önleyin
Çalıştırdığımız sorgularla açıklanan SQL görünümleri: görünüm oluşturma, canlı sonuçlar, sütunları gizleme, performans, güncellenebilir ve gerçekleş…
Makaleyi okuyun →Yazılım geliştirmeTypeScript Arayüzü ve Tür: Gerçek Farklılıklar, Derleyiciyle Test Edildi
TypeScript arayüzü ve türü, gerçek derleyiciyle kontrol edildi: her ikisinin de yapabileceği, yalnızca birinin yapabileceği, bildirim birleştirme, g…
Makaleyi okuyun →Yazılım geliştirmePython *args ve **kwargs'ın Açıklaması: Açık Örneklerle Esnek Fonksiyonlar
Python *args ve **kwargs çalıştırdığımız kodla açıklanmıştır: paketleme ve paketten çıkarma, parametre sırası, yalnızca anahtar kelime ve yalnızca k…
Makaleyi okuyun →Yazılım geliştirmePython Lambda İşlevleri: Söz Dizimi, Gerçek Kullanımlar ve Ne Zaman Kullanılmaması Gerektiği
Çalıştırdığımız kodla açıklanan Python lambda işlevleri: sözdizimi, anahtarla sıralama, harita ve filtre, kapatmalar, geç bağlama tuzağı ve normal b…
Makaleyi okuyun →Yapay zekâYapay Zeka Ajanları Nelerdir? Çalıştırabileceğiniz Basit Bir Aracı Döngüsüyle Nasıl Çalışırlar?
Yapay zeka ajanları nedir? Aracı döngüsüne, araçlara, belleğe ve korkuluklara ilişkin basit bir kılavuz, çalıştırdığımız küçük bir Python döngüsü, g…
Makaleyi okuyun →DevOpsİzleme ve Gözlemlenebilirlik: Günlükler, Metrikler ve İzlerle Gerçek Fark
İzleme ve gözlemlenebilirliğin açıklanması: bilinen ve bilinmeyen arızalar, günlükler, ölçümler ve izler, ödeme olayının gözden geçirilmesi, altın s…
Makaleyi okuyun →DevOpsDocker Birimleri ve Bağlama Bağlantıları: Konteyner Verilerini Doğru Şekilde Kalıcılaştırın
Docker birimleri ile bağlama bağlamaları arasındaki karşılaştırma açıklandı: kapsayıcı verilerinin neden kaybolduğu, adlandırılmış birimler, bağlama…
Makaleyi okuyun →Test otomasyonuTDD ve BDD: Temel Farklılıklar, Her İki Şekilde Geliştirilmiş Bir Özellik ve Her Birinin Ne Zaman Kullanılacağı
TDD ve BDD, her iki yönde de oluşturulmuş bir indirim özelliğiyle açıklandı: çalıştırdığımız kodla kırmızı-yeşil-refactor, Verilen-Ne Zaman-O Zaman …
Makaleyi okuyun →Yazılım testiKullanıcı Kabul Testi (UAT): Süreç, Kontrol Listesi ve Gerçek Örnekler
Kullanıcı kabul testi açıklandı: bunu kimin yürüttüğü, QA'dan farkı, yedi adımlı bir süreç, bir UAT test senaryosu şablonu, bir kontrol listesi, otu…
Makaleyi okuyun →Veritabanları ve SQLAçıklanan SQL NULL Değerleri: IS NULL, COALESCE, NULLIF ve Kaçınılması Gereken Tuzaklar
SQL NULL değerleri, çalıştırdığımız sorgularla açıklandı: üç değerli mantık, IS NULL, COALESCE, NULLIF, toplamaların, birleştirmelerin ve sıralamanı…
Makaleyi okuyun →Veritabanları ve SQLSQL CASE WHEN İfadesi: Sözdizimi, Gerçek Örnekler ve Yaygın Hatalar
SQL CASE WHEN çalıştırdığımız sorgularla açıkladı: basit ve aranmış formlar, koşul sırası, SUM'lu pivotlar, COUNT hileleri, özel sıralama, güncellem…
Makaleyi okuyun →Yazılım geliştirmeJWT Nedir? JSON Web Belirteçleri Bir Çalışma Örneğiyle Açıklanıyor
JWT nedir? JSON Web Tokens açıkladı: üç bölüm, çalıştırdığımız kodda oluşturulan ve üzerinde değişiklik yapılan bir token, JWT ile oturumlar, depola…
Makaleyi okuyun →Yazılım geliştirmeJavaScript Olay Döngüsü Açıklaması: Örneklerle Çağrı Yığını, Mikro Görevler ve Zamanlayıcılar
JavaScript olay döngüsü çalıştırdığımız kodla açıklandı: çağrı yığını, görev ve mikro görev kuyrukları, setTimeout 0'ın neden anında olmadığı, engel…
Makaleyi okuyun →Yazılım geliştirmePython Jeneratörleri ve Verim Açıklaması: Gerçek Örneklerle Bellekten Tasarruf Edin
Python üreteçleri ve verim, çalıştırdığımız kodla açıklandı: nasıl duraklatılır ve devam ettirilir, ölçülen bellek tasarrufları, işlem hatları, sons…
Makaleyi okuyun →Yapay zekâGömmeler Nelerdir? Vektörler ve Kosinüs Benzerliği Basitçe Açıklandı
Gömmeler nedir? Vektörler, kosinüs benzerliği ve anlamsal aramaya ilişkin sade dilli bir kılavuz; çalıştırdığımız küçük bir örnek, yaygın kullanımla…
Makaleyi okuyun →DevOpsMavi-Yeşil ve Kanarya Konuşlandırılması: Farklılıklar, Takaslar ve Nasıl Seçilir
Mavi-yeşil ve kanarya konuşlandırması açıklandı: her birinin nasıl çalıştığı, maliyet, risk ve geri alma, test ettiğimiz istikrarlı kullanıcı grubu,…
Makaleyi okuyun →Test otomasyonuKesintili Testler: Bunların Sebepleri ve Nasıl Düzeltileceği
Yaptığımız demolarla açıklanan hatalı testler: ana nedenler, birinin nasıl doğrulanacağı ve teşhis edileceği, zamanlama için uygun düzeltmeler, payl…
Makaleyi okuyun →Yazılım testiYük Testi ve Stres Testi: Farklılıklar, Metrikler ve k6 Örnekleri
Yük testi ve stres testinin açıklaması: her birinin neyi kanıtladığı, ani yükselme ve soğuma testleri, önemli ölçümler, ortalamaların neden yanıltıc…
Makaleyi okuyun →Yazılım testiTest Senaryosu ve Test Senaryosu: Temel Farklılıklar, Örnekler ve Her Biri Ne Zaman Kullanılmalı?
Test senaryosu ve test senaryosunun açıklaması: net tanımlar, yan yana tablo, senaryolardan vakalara, şablonlara ve her birinin ne zaman kullanılaca…
Makaleyi okuyun →Veritabanları ve SQLSQL Sorgu Optimizasyonu: Zamanlamalarla Yürütme Planlarını Okuyun ve Yavaş Sorguları Düzeltin
SQL sorgu optimizasyonu bir milyon satırda test edilmiştir: yürütme planlarını okuyun, doğru dizinleri ekleyin, değiştirilemeyen filtreleri düzeltin…
Makaleyi okuyun →Veritabanları ve SQLSQL UNION ve UNION ALL: Farklılıklar, Örnekler ve Test Edilmiş Performans
SQL UNION ve UNION ALL, yürüttüğümüz sorgularla açıklandı: kopyalar, her ikisinin de takip ettiği kurallar, gerçek bir veri hatası, ölçülen performa…
Makaleyi okuyun →Yazılım geliştirmeJavaScript Fetch API Eğitimi: GET, POST, Hata İşleme ve Zaman Aşımları
Yerel bir sunucuya karşı test edilen bir JavaScript Fetch API öğreticisi: GET ve POST, 404'ün neden atmadığı, yeniden kullanılabilir bir yardımcı, s…
Makaleyi okuyun →Yazılım geliştirmePython Dosya İşleme: Örneklerle Okuma, Yazma, CSV, JSON ve pathlib
Python dosya işleme, çalıştırdığımız kodla açıklanmıştır: açık modlar, büyük dosyaları okuma, CSV, JSON, pathlib, ikili dosyalar, güvenli yazma, hat…
Makaleyi okuyun →Yazılım geliştirmePython Sınıfları ve Nesneleri: Gerçek Örneklerle OOP Eğitimi
Çalıştırdığımız kodla açıklanan Python sınıfları ve nesneleri: __init__, yöntemler, sınıf ve örnek nitelikleri, kalıtım, özellikler, dunder yöntemle…
Makaleyi okuyun →Yapay zekâBüyük Dil Modeli Nedir? Yüksek Lisans'ların Nasıl Çalıştığı, Abartmadan Açıklanıyor
Büyük dil modeli nedir? LLM'ler sade bir dille açıklandı: belirteçler, yerleştirmeler, dikkat, eğitim, sıcaklık ve bağlam pencereleri, küçük bir son…
Makaleyi okuyun →DevOpsYeni Başlayanlar İçin Linux Komutları: Örneklerle Temel Terminal Kılavuzu
Yeni başlayanlar için göreve göre gruplandırılmış Linux komutları: pratik bir günlük analizi örneğiyle gezinme, dosyalar, günlükleri görüntüleme, gr…
Makaleyi okuyun →Yazılım geliştirmeGit merge vs rebase: farklar, örnekler ve hangisi ne zaman kullanılır
Git merge vs rebase; gerçek log çıktısı, karşılaştırma tablosu, rebase'in altın kuralı ve güvenli bir ekip iş akışıyla anlatılıyor.
Makaleyi okuyun →Yazılım geliştirmePython Liste Üreteci (List Comprehension): Sözdizimi, Örnekler ve Kaçınılacak Durumlar
Python list comprehension anlatımı: sözdizimi, filtreleme, if-else, iç içe döngüler, ölçülmüş süreler ve düz for döngüsünün daha iyi olduğu durumlar.
Makaleyi okuyun →Veritabanları ve SQLSQL JOIN Örneklerle Açıklama (Inner, Left, Right, Full)
SQL JOIN'leri örnek tablolar ve sorgularla adım adım öğrenin: INNER, LEFT, RIGHT, FULL, CROSS ve SELF; yaygın hatalar ve performans ipuçları.
Makaleyi okuyun →