Skip to main content
Veri Bilimi

SQL Öğrenme Rehberi: Başlangıçtan İleri Seviyeye

Mart 15, 2026 3 dk okuma 18 views Raw
SQL veritabanı sorgusu ve programlama ekranı
İçindekiler

SQL Nedir ve Neden Önemlidir?

SQL (Structured Query Language), ilişkisel veritabanlarıyla etkileşim kurmak için kullanılan standart bir programlama dilidir. 1970'lerde IBM tarafından geliştirilen SQL, günümüzde veri yönetiminin temel taşı olmaya devam etmektedir. Veri analisti, yazılım geliştirici, veri bilimci veya veritabanı yöneticisi olmak isteyen herkesin SQL bilmesi büyük avantaj sağlar.

İş dünyasında verilerin çoğu ilişkisel veritabanlarında saklanmaktadır. MySQL, PostgreSQL, SQL Server, Oracle ve SQLite gibi veritabanı yönetim sistemleri, SQL'i temel iletişim dili olarak kullanır.

SQL Temelleri

Veritabanı ve Tablo Kavramları

İlişkisel veritabanında veriler tablolar halinde saklanır. Her tablo satırlar (kayıtlar) ve sütunlardan (alanlar) oluşur. Tablolar arasındaki ilişkiler, birincil anahtar (primary key) ve yabancı anahtar (foreign key) aracılığıyla tanımlanır.

Temel SQL Komutları

SQL komutları dört ana kategoride sınıflandırılır:

  • DDL (Data Definition Language): CREATE, ALTER, DROP - Veritabanı yapısını tanımlamak için kullanılır.
  • DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE - Veri üzerinde işlem yapmak için kullanılır.
  • DCL (Data Control Language): GRANT, REVOKE - Erişim yetkilerini yönetmek için kullanılır.
  • TCL (Transaction Control Language): COMMIT, ROLLBACK - İşlem yönetimi için kullanılır.

SELECT Sorguları

Temel Sorgulama

SELECT ifadesi, veritabanından veri çekmek için kullanılan en temel SQL komutudur. Belirli sütunları seçebilir, WHERE ile koşul belirleyebilir ve ORDER BY ile sonuçları sıralayabilirsiniz.

Filtreleme ve Sıralama

WHERE cümlesi ile verileri filtreleyebilirsiniz. AND, OR, NOT mantıksal operatörleri, BETWEEN, IN, LIKE gibi karşılaştırma operatörleri ve IS NULL gibi kontroller filtreleme işlemlerinde sıkça kullanılır. ORDER BY ile sonuçları artan (ASC) veya azalan (DESC) sırada düzenleyebilirsiniz.

Gruplama ve Toplama Fonksiyonları

GROUP BY ile verileri belirli sütunlara göre gruplandırabilir ve toplama fonksiyonlarını uygulayabilirsiniz:

  • COUNT(): Kayıt sayısını hesaplar
  • SUM(): Sayısal değerlerin toplamını verir
  • AVG(): Ortalama değeri hesaplar
  • MIN() / MAX(): En küçük ve en büyük değerleri bulur

HAVING cümlesi, GROUP BY sonrası oluşan gruplara filtre uygulamak için kullanılır ve WHERE'den farklı olarak toplama fonksiyonlarıyla çalışabilir.

JOIN İşlemleri

JOIN, birden fazla tabloyu birleştirmek için kullanılır ve SQL'in en güçlü özelliklerinden biridir:

JOIN TürüAçıklama
INNER JOINHer iki tabloda eşleşen kayıtları döndürür
LEFT JOINSol tablodaki tüm kayıtları ve sağ tablodaki eşleşenleri döndürür
RIGHT JOINSağ tablodaki tüm kayıtları ve sol tablodaki eşleşenleri döndürür
FULL OUTER JOINHer iki tablodaki tüm kayıtları döndürür
CROSS JOINİki tablonun kartezyen çarpımını oluşturur

İleri Seviye SQL Konuları

Alt Sorgular (Subqueries)

Alt sorgular, bir sorgu içinde yer alan başka bir sorgudur. SELECT, WHERE veya FROM cümlelerinde kullanılabilir. Skalar alt sorgular tek bir değer döndürürken, tablo alt sorguları birden fazla satır ve sütun döndürebilir.

Pencere Fonksiyonları (Window Functions)

Pencere fonksiyonları, satır grupları üzerinde hesaplama yapmanızı sağlarken satırları gruplamaz. ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD() ve toplama fonksiyonları OVER() ifadesiyle birlikte kullanılarak güçlü analizler yapılabilir.

CTE (Common Table Expressions)

WITH ifadesi ile tanımlanan CTE'ler, karmaşık sorguları daha okunabilir alt bölümlere ayırmanızı sağlar. Rekürsif CTE'ler, hiyerarşik veri yapılarını (organizasyon şemaları, ürün kategorileri) sorgulamak için idealdir.

İndeksler ve Performans Optimizasyonu

İndeksler, veritabanı sorgularının hızını önemli ölçüde artırır. Doğru sütunlarda indeks oluşturmak, milyonlarca satırlık tablolarda sorgu süresini saniyelerden milisaniyelere düşürebilir. Ancak gereksiz indeksler yazma işlemlerini yavaşlatabileceğinden dikkatli bir denge kurulmalıdır.

SQL Öğrenme Kaynakları ve İpuçları

  1. Uygulamalı pratik yapın: SQLZoo, LeetCode ve HackerRank gibi platformlarda SQL alıştırmaları çözün.
  2. Gerçek veritabanlarıyla çalışın: Yerel bir MySQL veya PostgreSQL kurulumu yaparak kendi projelerinizde SQL kullanın.
  3. Sorgu planlarını okumayı öğrenin: EXPLAIN komutuyla sorgularınızın nasıl çalıştığını anlayın.
  4. Gerçek dünya senaryoları çözün: E-ticaret, CRM veya envanter yönetimi gibi senaryolar üzerinde çalışın.
  5. Farklı veritabanı sistemlerini deneyin: MySQL, PostgreSQL ve SQL Server arasındaki farkları keşfedin.

Sonuç

SQL, veri dünyasının evrensel dilidir ve her teknoloji profesyonelinin portföyünde bulunması gereken temel bir beceridir. Temel sorgulardan başlayarak pencere fonksiyonları ve performans optimizasyonuna kadar ilerleyen bir öğrenme yolculuğu, sizi yetkin bir SQL kullanıcısı yapacaktır. Sürekli pratik ve gerçek dünya projelerinde uygulama, SQL becerilerinizi keskinleştirmenin en etkili yoludur.

Bu yazıyı paylaş