Bu yazıda, SQL (Structured Query Language) sorgu örnekleri ile veritabanı işlemlerini pratiğe dökmeyi amaçlıyoruz. SQL, veritabanı yönetim sistemleriyle etkileşim kurmamızı sağlayan güçlü bir dildir ve verilerin sorgulanması, ekleme, güncelleme veya silinmesi gibi işlemleri gerçekleştirmemize yardımcı olur. Yazımızda farklı senaryolara uygun SQL örnekleri ve SQL sorgu örnekleri vereceğiz.

Başlamadan önce burada göreceğiniz örnekler için konu anlatımlarımızın olduğu “SQL Dersleri” adlı kategorimizi ziyaret edebilirsiniz.

SQL sorgu örnekleri için kullanacağımız örnek tablomuz. Tüm örnekler için bu tabloyu kullanacağız.

musterinoadsoyadsehircinsiyetpuan
11EmreÖztürkİstanbulE78
12AylinKayaAnkaraK55
13CanAksoyİzmirE67
14SevimŞahinBursaK41
15MuratDemirAntalyaE92
musteriler tablosu

SQL Örnek Soru ve Cevapları

1. SELECT Komutu Örneği

Soru: Musterino, ad ve puan sütunlarını içeren tüm verileri seçin.

SELECT musterno, ad, puan FROM musteriler;

Çıktı :

| musterno | ad     | puan |
|----------|--------|------|
| 11       | Emre   | 78   |
| 12       | Aylin  | 55   |
| 13       | Can    | 67   |
| 14       | Sevim  | 41   |
| 15       | Murat  | 92   |

2. DISTINCT Komutu Örneği

Soru: Şehir sütununda tekrarlanan şehir isimlerini tekrarsız bir şekilde listele.

SELECT DISTINCT sehir FROM musteriler;

Çıktı :

| sehir    |
|----------|
| İstanbul |
| Ankara   |
| İzmir    |
| Bursa    |
| Antalya  |

3. WHERE Komutu Örneği

Soru: Puanı 60’tan büyük olan erkek müşterileri seçin.

SELECT * FROM musteriler WHERE cinsiyet = 'E' AND puan > 60;

Çıktı :

| musterno | ad    | soyad  | sehir   | cinsiyet | puan |
|----------|-------|--------|---------|----------|------|
| 11       | Emre  | Öztürk | İstanbul| E        | 78   |
| 13       | Can   | Aksoy  | İzmir   | E        | 67   |
| 15       | Murat | Demir  | Antalya | E        | 92   |

4. AND ve OR Operatörleri Örneği

Soru: Ankara veya İstanbul’da yaşayan ve puanı 50’nin altında veya 80’in üstünde olan müşterileri seçin.

SELECT * FROM musteriler WHERE (sehir = 'Ankara' OR sehir = 'İstanbul') AND (puan < 50 OR puan > 80);

Çıktı :

| musterno | ad     | soyad | sehir   | cinsiyet | puan |
|----------|--------|-------|---------|----------|------|
| 12       | Aylin  | Kaya  | Ankara  | K        | 55   |
| 14       | Sevim  | Şahin | Bursa   | K        | 41   |
| 15       | Murat  | Demir | Antalya | E        | 92   |

5. ORDER BY Komutu Örneği

Soru: Puanları yüksekten düşüğe sıralanmış şekilde tüm verileri seçin.

SELECT * FROM musteriler ORDER BY puan DESC;

Çıktı :

| musterno | ad     | soyad  | sehir   | cinsiyet | puan |
|----------|--------|--------|---------|----------|------|
| 15       | Murat  | Demir  | Antalya | E        | 92   |
| 11       | Emre   | Öztürk | İstanbul| E        | 78   |
| 13       | Can    | Aksoy  | İzmir   | E        | 67   |
| 12       | Aylin  | Kaya   | Ankara  | K        | 55   |
| 14       | Sevim  | Şahin  | Bursa   | K        | 41   |

6. TOP ve LIMIT Komutları Örneği

Soru: En yüksek puanlı 2 müşteriyi seçin.

-- SQL Server (TOP)
SELECT TOP 2 * FROM musteriler ORDER BY puan DESC;

-- MySQL (LIMIT)
SELECT * FROM musteriler ORDER BY puan DESC LIMIT 2;

Bu sorgu, en yüksek puanlı 2 müşteriyi seçer. SQL Server için TOP kullanılırken, MySQL için LIMIT kullanılır.

Bu yazı dikkatini çekebilir.   Php Cümleyi Tersten Yazdırma

Çıktı :

| musterno | ad     | soyad  | sehir   | cinsiyet | puan |
|----------|--------|--------|---------|----------|------|
| 15       | Murat  | Demir  | Antalya | E        | 92   |
| 11       | Emre   | Öztürk | İstanbul| E        | 78   |

7. LIKE Komutu Örneği

Soru: Adı “A” harfi ile başlayan müşterileri seçin..

SELECT * FROM musteriler WHERE ad LIKE 'A%';

Çıktı :

| musterno | ad    | soyad | sehir  | cinsiyet | puan |
|----------|-------|-------|--------|----------|------|
| 12       | Aylin | Kaya  | Ankara | K        | 55   |

8. IN Komutu Örneği

Soru: İstanbul, Ankara ve İzmir’de yaşayan müşterileri seçin.

SELECT * FROM musteriler WHERE sehir IN ('İstanbul', 'Ankara', 'İzmir');

Çıktı :

| musterno | ad    | soyad | sehir   | cinsiyet | puan |
|----------|-------|-------|---------|----------|------|
| 11       | Emre  | Öztürk | İstanbul| E        | 78   |
| 12       | Aylin | Kaya  | Ankara  | K        | 55   |
| 13       | Can   | Aksoy | İzmir   | E        | 67   |

9. BETWEEN Komutu Örneği

Soru: Puanı 50 ile 70 arasında olan müşterileri seçin.

SELECT * FROM musteriler WHERE puan BETWEEN 50 AND 70;

Çıktı :

| musterno | ad     | soyad | sehir   | cinsiyet | puan |
|----------|--------|-------|---------|----------|------|
| 12       | Aylin  | Kaya  | Ankara  | K        | 55   |
| 13       | Can    | Aksoy | İzmir   | E        | 67   |

10. AS Operatörü Örneği

Soru: Müşteri adlarını büyük harfle ve “ADI” olarak listele.

SELECT ad AS ADI FROM musteriler;

Çıktı :

| ADI   |
|-------|
| EMRE  |
| AYLIN |
| CAN   |
| SEVIM |
| MURAT |

11. Sorguda JOIN Kullanımı Örneği

Soru: Şehir bilgilerini içeren başka bir tablo ile müşteri şehirlerini eşleştirin.

SELECT m.*, s.sehir_adi
FROM musteriler m
JOIN sehirler s ON m.sehir = s.sehir_kodu;

Bu sorgu, “musteriler” ve “sehirler” tablolarını “sehir” sütununa göre birleştirerek müşteri şehirlerini ve şehir adlarını içeren sonuçları döndürür.

Çıktı :

| musterno | ad     | soyad  | sehir   | cinsiyet | puan | sehir_adi |
|----------|--------|--------|---------|----------|------|-----------|
| 11       | Emre   | Öztürk | İstanbul| E        | 78   | Istanbul  |
| 12       | Aylin  | Kaya   | Ankara  | K        | 55   | Ankara    |
| 13       | Can    | Aksoy  | İzmir   | E        | 67   | Izmir     |
| 14       | Sevim  | Şahin  | Bursa   | K        | 41   | Bursa     |
| 15       | Murat  | Demir  | Antalya | E        | 92   | Antalya   |

12. GROUP BY Komutu Örneği

Soru: Şehirlerde kaçar tane müşteri olduğunu bulun.

SELECT sehir, COUNT(*) AS müsteri_sayisi
FROM musteriler
GROUP BY sehir;

Çıktı :

| sehir    | müsteri_sayisi |
|----------|----------------|
| İstanbul | 1              |
| Ankara   | 1              |
| İzmir    | 1              |
| Bursa    | 1              |
| Antalya  | 1              |

13. UPDATE Komutu Örneği

Soru: Puanı 60’tan düşük olan müşterilerin puanını 60 olarak güncelleyin.

UPDATE musteriler
SET puan = 60
WHERE puan < 60;

Çıktı : (Güncelleme sonrası tablo)

| musterno | ad     | soyad  | sehir   | cinsiyet | puan |
|----------|--------|--------|---------|----------|------|
| 11       | Emre   | Öztürk | İstanbul| E        | 78   |
| 12       | Aylin  | Kaya   | Ankara  | K        | 60   |
| 13       | Can    | Aksoy  | İzmir   | E        | 67   |
| 14       | Sevim  | Şahin  | Bursa   | K        | 60   |
| 15       | Murat  | Demir  | Antalya | E        | 92   |

14. DELETE Komutu Örneği

Soru: Puanı 50’nin altında olan müşterileri tablodan silin.

DELETE FROM musteriler
WHERE puan < 50;

Çıktı : (Silme sonrası tablo)

| musterno | ad     | soyad  | sehir   | cinsiyet | puan |
|----------|--------|--------|---------|----------|------|
| 11       | Emre   | Öztürk | İstanbul| E        | 78   |
| 13       | Can    | Aksoy  | İzmir   | E        | 67   |
| 15       | Murat  | Demir  | Antalya | E        | 92   |

Bu yazıda, SQL sorgu örneklerini farklı senaryolar üzerinden ele aldık ve her bir sorgunun ne amaçla kullanıldığını, nasıl çalıştığını detaylı bir şekilde gördük. Umarım bu yazı, SQL konusundaki temel sorgu örneklerini anlamanıza ve uygulamanıza yardımcı olmuştur.