This page has not been translated to English yet — showing the original Turkish version.

Kodlama

SQL Nasıl Öğrenilir? SELECT, WHERE, JOIN ve GROUP BY (Uygulamalı SQLite Rehberi)

SQL'i kurulum derdi olmadan SQLite ile öğrenin: tablo oluşturma, veri ekleme, SELECT, WHERE, JOIN ve GROUP BY örnekleri.

SQL Nasıl Öğrenilir? SELECT, WHERE, JOIN ve GROUP BY (Uygulamalı SQLite Rehberi)
SQL Nasıl Öğrenilir? SELECT, WHERE, JOIN ve GROUP BY (Uygulamalı SQLite Rehberi)

SQL, veritabanlarıyla konuşma dilidir ve onlarca yıldır değişmeden değerini koruyor. Web geliştirici, veri analisti, yazılım test uzmanı, hatta pazarlamacı için bile pratik bir beceridir.

Bu rehberde SQLite kullanacağız: sunucu kurmadan tek dosyada çalışır. Öğrendiğiniz komutların çoğu PostgreSQL ve MySQL'de de aynıdır.

Step-by-step guide
  • 7 steps
  • 3 min read
In this guide
  1. SQLite'ı açın
  2. Tablo oluşturun ve veri ekleyin
  3. SELECT ile okuyun
  4. JOIN ile tabloları birleştirin
  5. GROUP BY ile özetleyin
  6. Güncelleyin ve silin: dikkatli olun
  7. Alıştırma yapın
  1. SQLite'ı açın

    Çoğu sistemde zaten kuruludur. Kontrol edin ve bir veritabanı dosyası açın:

    sqlite3 okul.db

    Kurulu değilse Windows'ta sqlite.org/download adresindeki sqlite-tools paketini, macOS'ta brew install sqlite, Debian/Ubuntu'da sudo apt install sqlite3 komutunu kullanın. Tarayıcıdan denemek isterseniz "SQLite online" araçları da vardır. Çıkmak için .quit yazın.

  2. Tablo oluşturun ve veri ekleyin

    CREATE TABLE ogrenci (
      id INTEGER PRIMARY KEY,
      ad TEXT NOT NULL,
      sinif INTEGER
    );
    
    CREATE TABLE not_ (
      ogrenci_id INTEGER,
      ders TEXT,
      puan INTEGER
    );
    
    INSERT INTO ogrenci (ad, sinif) VALUES ('Ayşe', 9), ('Ali', 9), ('Zeynep', 10);
    INSERT INTO not_ VALUES (1,'Matematik',90), (1,'Fizik',70), (2,'Matematik',55), (3,'Fizik',85);

    Tablo, satır ve sütunlardan oluşan bir listedir. PRIMARY KEY her satırı tekil kılan numaradır.

  3. SELECT ile okuyun

    SELECT * FROM ogrenci;
    SELECT ad FROM ogrenci WHERE sinif = 9;
    SELECT ad FROM ogrenci ORDER BY ad DESC LIMIT 2;

    Üç parçayı akılda tutun: SELECT hangi sütunlar, FROM hangi tablo, WHERE hangi satırlar. ORDER BY sıralar, LIMIT sayıyı sınırlar.

  4. JOIN ile tabloları birleştirin

    SELECT ogrenci.ad, not_.ders, not_.puan
    FROM ogrenci
    JOIN not_ ON not_.ogrenci_id = ogrenci.id;

    JOIN iki tabloyu ortak bir sütundan eşleştirir. Sonuçta öğrencinin adı ile notları yan yana gelir. Hiç notu olmayan öğrencileri de görmek isterseniz LEFT JOIN kullanın.

  5. GROUP BY ile özetleyin

    SELECT ders, COUNT(*) AS adet, AVG(puan) AS ortalama
    FROM not_
    GROUP BY ders;

    GROUP BY satırları gruplar; COUNT, AVG, SUM, MIN ve MAX her grup için hesap yapar. Gruplanmış sonucu süzmek için WHERE değil HAVING kullanılır.

  6. Güncelleyin ve silin: dikkatli olun

    UPDATE not_ SET puan = 60 WHERE ogrenci_id = 2 AND ders = 'Matematik';
    DELETE FROM not_ WHERE puan < 50;

    Uyarı: WHERE yazmayı unutursanız komut tüm satırları etkiler. Önce aynı koşulu SELECT ile deneyin, doğru satırları gördükten sonra UPDATE ya da DELETE çalıştırın.

  7. Alıştırma yapın

    • Her öğrencinin ortalama puanını bulun.
    • Ortalaması 70'in üstündekileri listeleyin.
    • Hangi sınıfta kaç öğrenci olduğunu sayın.

    Çözümü bilmiyorsanız soruyu ve tablo yapısını yapay zekâ asistanına verip sorgu isteyin; ancak yazılan sorguyu satır satır okuyun ve küçük veriyle deneyin.

Sık Sorulanlar

SQL bir programlama dili midir?

Teknik olarak sorgulama dilidir. Döngü ve fonksiyon yazmazsınız, hangi veriyi istediğinizi tarif edersiniz.

SQLite, PostgreSQL ve MySQL farkı nedir?

SQLite dosya tabanlıdır ve sunucu gerekmez. PostgreSQL ve MySQL çok kullanıcılı sunucu veritabanlarıdır. Temel SQL hepsinde ortaktır.

SQL ne kadar sürede öğrenilir?

Temel sorgular için 1-2 hafta düzenli çalışma yeter. JOIN ve gruplama mantığı oturduktan sonra performans ve tasarım konularına geçebilirsiniz.

SQL injection nedir?

Kullanıcıdan gelen metni SQL komutuna doğrudan eklerseniz saldırgan sorguyu değiştirebilir. Uygulama kodunda her zaman parametreli sorgu kullanın.

Next guides

Comments (0)

No comments yet.

Your email will not be published, it is kept only for moderation. See our privacy policy. Log in and your comment will be saved under your name.

Comments are moderated before publishing.