SQL 2: JOIN, GROUP BY ve ORDER BY 🚀
Merhaba! 👋
SQL 2: JOIN, GROUP BY ve ORDER BY 🚀
Merhaba! 👋
SQL (Structured Query Language) ile veri tabanlarını daha etkin bir şekilde yönetme konusunda ilerlemeye devam ediyorum. İlk yazımda SQL’in temel komutlarından SELECT, FROM, ve WHERE komutlarını ele almıştım. Bu yazıda, veritabanı işlemlerinde daha fazla kontrol sağlayan bazı ileri düzey SQL komutları olan JOIN, GROUP BY, ve ORDER BY komutlarına odaklanacağım.

SQL
Neden İleri SQL Komutları?
İleri düzey SQL komutları, daha karmaşık veri sorguları ve analizleri yapabilmek için kullanılır. Bu komutlar, veritabanındaki verileri birleştirme, gruplama ve sıralama gibi işlemleri kolaylaştırır, böylece verileri daha anlamlı ve kullanılabilir hale getirir.
1. JOIN: Tablo Verilerini Birleştirmek
JOIN komutu, birden fazla tablodan veri çekip bu verileri birleştirmek için kullanılır. Örneğin, iki tablo olan kullanicilar ve siparisler tablosu üzerinden veri çekelim:
kullanicilar Tablosu:
| id | ad | soyad |
|----|-------|-------|
| 1 | Ahmet | Yılmaz|
| 2 | Ayşe | Demir |
| 3 | Mehmet| Korkmaz|
siparisler Tablosu:
| id | kullanici_id | urun_adi |
|----|--------------|---------------|
| 1 | 1 | Laptop |
| 2 | 2 | Telefon |
| 3 | 1 | Monitör |
Bu iki tabloyu birleştirmek için şu sorguyu kullanabiliriz:
SELECT kullanicilar.ad, kullanicilar.soyad, siparisler.urun_adi
FROM kullanicilar
JOIN siparisler ON kullanicilar.id = siparisler.kullanici_id;
Sonuç:
| ad | soyad | urun_adi |
|-------|-------|----------|
| Ahmet | Yılmaz| Laptop |
| Ayşe | Demir | Telefon |
| Ahmet | Yılmaz| Monitör |
Bu sorgu, kullanıcıların adlarını, soyadlarını ve verdikleri siparişlerin isimlerini getirir.
2. GROUP BY: Veriyi Gruplandırmak
GROUP BY komutu, belirli bir sütuna göre veriyi gruplandırıp, gruplar üzerinde toplama, ortalama gibi işlemler yapar. Örneğin, siparisler tablosundaki ürünlerin toplam satış miktarını görmek için şu sorguyu kullanabiliriz:
siparisler Tablosu:
| urun_adi | satis_miktari |
|----------|---------------|
| Laptop | 3 |
| Telefon | 5 |
| Monitör | 2 |
| Laptop | 1 |
| Telefon | 2 |
Sorgu:
SELECT urun_adi, COUNT(*) AS toplam_satis
FROM siparisler
GROUP BY urun_adi;
Sonuç:
| urun_adi | toplam_satis |
|----------|--------------|
| Laptop | 4 |
| Telefon | 7 |
| Monitör | 1 |
Bu sorgu, her ürünün toplam satış miktarını getirir.
3. ORDER BY: Veriyi Sıralamak
ORDER BY komutu, sorgu sonuçlarını belirli bir sütuna göre sıralar. Örneğin, kullanicilar tablosundaki kullanıcıları yaşlarına göre sıralamak için şu sorguyu kullanabiliriz:
kullanicilar Tablosu:
| ad | soyad | yas |
|--------|-------|-----|
| Ahmet | Yılmaz| 30 |
| Ayşe | Demir | 25 |
| Mehmet| Korkmaz| 28 |
Sorgu:
SELECT ad, soyad, yas
FROM kullanicilar
ORDER BY yas DESC;
Sonuç:
| ad | soyad | yas |
|--------|-------|-----|
| Ahmet | Yılmaz| 30 |
| Mehmet | Korkmaz| 28 |
| Ayşe | Demir | 25 |
Bu sorgu, kullanıcıları yaşlarına göre azalan sırada listeler.
Deneyimimden Bir Örnek: İleri Düzey SQL Kullanımı
SQL deneyimim boyunca, daha karmaşık sorgular yazmak için bu ileri düzey komutları sıkça kullandım. Örneğin, bir müşteri veritabanındaki siparişleri ürün kategorilerine göre gruplandırarak ve ardından en yüksek sipariş miktarına göre sıraladım:
siparisler Tablosu:
| kategori | urun_adi | satis_miktari |
|----------|----------|---------------|
| Elektronik| Laptop | 10 |
| Elektronik| Telefon | 20 |
| Ofis | Monitör | 5 |
Sorgu:
SELECT kategori, urun_adi, SUM(satis_miktari) AS toplam_satis
FROM siparisler
GROUP BY kategori, urun_adi
ORDER BY toplam_satis DESC;
Sonuç:
| kategori | urun_adi | toplam_satis |
|------------|----------|--------------|
| Elektronik | Telefon | 20 |
| Elektronik | Laptop | 10 |
| Ofis | Monitör | 5 |
Bu sorgu, ürünleri kategori ve ürün adına göre gruplar ve toplam satış miktarına göre sıralar.
Sonuç
İleri düzey SQL komutları olan JOIN, GROUP BY ve ORDER BY, veri tabanlarındaki verileri daha etkili bir şekilde analiz etmenizi sağlar. Bu komutları kullanarak veri tabanındaki verileri birleştirebilir, gruplandırabilir ve sıralayabilirsiniz. Deneyimlerim, bu komutların veri yönetiminde ne kadar güçlü araçlar olduğunu gösterdi.
Umarım bu yazı, SQL’de daha ileri düzey beceriler kazanmak isteyenler için faydalı olmuştur. Gelecek yazılarımda, SQL’in daha gelişmiş fonksiyonları ve teknikleri üzerine de bilgiler paylaşacağım. Takipte kalın!
Teşekkürler! 🙌
Resim Kaynağı:
https://commons.wikimedia.org/wiki/File:Sql_data_base_with_logo.png
메타데이터
- post_id
- 37e5d178e449
- slug
- sqle-giriş-2-join-group-by-ve-order-by-37e5d178e449
- url
- https://medium.com/@ahmet_bilgic07/sqle-giri%C5%9F-2-join-group-by-ve-order-by-37e5d178e449
- canonical_url
- https://medium.com/@ahmet_bilgic07/sqle-giri%C5%9F-2-join-group-by-ve-order-by-37e5d178e449
- author_url
- https://medium.com/@ahmet_bilgic07
- status
- ok
- fetched_at
- 2026-07-22 23:41:08