📚 Veritabanı Yönetimi SQL Sorguları Sınavına Hazırlık
SQL (Structured Query Language), veritabanı yönetim sistemleriyle iletişim kurmak için kullanılan standart bir dildir. Sınavlara hazırlık sürecinde aşağıdaki konulara hakim olmanız önemlidir:
📌 Temel SQL Komutları
- 🍎 SELECT: Veritabanından veri çekmek için kullanılır.
- 🍎 INSERT: Veritabanına yeni veri eklemek için kullanılır.
- 🍎 UPDATE: Veritabanındaki mevcut veriyi güncellemek için kullanılır.
- 🍎 DELETE: Veritabanından veri silmek için kullanılır.
🔑 SELECT İfadesi ve Kullanımı
SELECT ifadesi, veritabanından belirli sütunları veya tüm tabloyu çekmek için kullanılır. İşte bazı örnekler:
- 🍎 Tüm sütunları çekmek:
SELECT * FROM tablo_adı;
- 🍎 Belirli sütunları çekmek:
SELECT sütun1, sütun2 FROM tablo_adı;
- 🍎 Koşullu veri çekmek (WHERE):
SELECT * FROM tablo_adı WHERE koşul;
- 🍎 Sıralama (ORDER BY):
SELECT * FROM tablo_adı ORDER BY sütun_adı ASC/DESC;
- 🍎 Gruplama (GROUP BY):
SELECT sütun1, COUNT(*) FROM tablo_adı GROUP BY sütun1;
- 🍎 Filtreleme (HAVING):
SELECT sütun1, COUNT(*) FROM tablo_adı GROUP BY sütun1 HAVING COUNT(*) > değer;
🔗 JOIN İşlemleri
JOIN işlemleri, birden fazla tablodaki verileri birleştirmek için kullanılır.
- 🍎 INNER JOIN: İki tabloda da eşleşen kayıtları getirir.
- 🍎 LEFT JOIN: Sol tablodaki tüm kayıtları ve sağ tabloda eşleşen kayıtları getirir.
- 🍎 RIGHT JOIN: Sağ tablodaki tüm kayıtları ve sol tabloda eşleşen kayıtları getirir.
- 🍎 FULL OUTER JOIN: Her iki tablodaki tüm kayıtları getirir (MySQL desteklemez, genellikle LEFT JOIN ve UNION ALL ile emüle edilir).
Örnek bir INNER JOIN ifadesi:
SELECT * FROM tablo1 INNER JOIN tablo2 ON tablo1.sütun_adı = tablo2.sütun_adı;
⚙️ Alt Sorgular (Subqueries)
Alt sorgular, bir SELECT ifadesinin içinde başka bir SELECT ifadesi kullanılarak oluşturulur. Alt sorgular, karmaşık sorguları daha okunabilir hale getirmek ve belirli koşulları sağlamak için kullanılır.
- 🍎 WHERE içinde alt sorgu:
SELECT * FROM tablo1 WHERE sütun1 IN (SELECT sütun1 FROM tablo2);
- 🍎 FROM içinde alt sorgu:
SELECT * FROM (SELECT sütun1, sütun2 FROM tablo1 WHERE koşul) AS alias;
🧪 İleri Düzey SQL Konuları
- 🍎 Index'ler: Veritabanı sorgularını hızlandırmak için kullanılır.
- 🍎 Stored Procedures: Önceden derlenmiş SQL kod bloklarıdır.
- 🍎 Triggers: Belirli olaylar (örneğin, INSERT, UPDATE, DELETE) gerçekleştiğinde otomatik olarak çalışan kod bloklarıdır.
- 🍎 Transaction'lar: Bir dizi SQL işlemini tek bir mantıksal işlem olarak gruplandırmak için kullanılır.
📝 Örnek Sınav Soruları
❓ Soru 1:
Aşağıdaki SQL sorgusu ne yapar?
SELECT COUNT(*) FROM ogrenciler WHERE bolum = 'Bilgisayar Mühendisliği';
- 🍎 A) Tüm öğrencileri listeler.
- 🍎 B) Bilgisayar Mühendisliği bölümündeki öğrenci sayısını bulur.
- 🍎 C) Bölümleri listeler.
- 🍎 D) Öğrenci bilgilerini günceller.
Cevap: B
❓ Soru 2:
Aşağıdaki SQL sorgusunda hangi JOIN türü kullanılmaktadır?
SELECT * FROM siparisler LEFT JOIN musteriler ON siparisler.musteri_id = musteriler.id;
- 🍎 A) INNER JOIN
- 🍎 B) RIGHT JOIN
- 🍎 C) LEFT JOIN
- 🍎 D) FULL OUTER JOIN
Cevap: C
❓ Soru 3:
Bir tabloda aynı değere sahip birden fazla satırı engellemek için hangi kısıtlama (constraint) kullanılır?
- 🍎 A) PRIMARY KEY
- 🍎 B) FOREIGN KEY
- 🍎 C) UNIQUE
- 🍎 D) NOT NULL
Cevap: C