# önder online
Teknoloji ve siber güvenlik dünyasına hoş geldiniz Güncel siber tehditler ve korunma yöntemleri Yapay zekâ ve otomasyonun güvenliğe etkileri Microsoft 365 ve Active Directory güvenlik rehberleri Yazılım geliştirmede güvenlik odaklı yaklaşımlar Teknoloji ve siber güvenlik dünyasına hoş geldiniz Güncel siber tehditler ve korunma yöntemleri

Menu

SQL Notları: SELECT Sorguları ve İleri Seviye Kullanımlar

SQL Notları: SELECT Sorguları ve İleri Seviye Kullanımlar

SELECT sorgularını daha etkili bir şekilde kullanabilir ve veritabanından istediğiniz verileri daha kolay bir şekilde çekebilirsiniz. Bir sonraki yazıda, JOIN'ler ve alt sorgular gibi daha gelişmiş SQL konularına değineceğiz.

# SELECT Sorguları ve İleri Seviye Kullanımlar

SQL'de `SELECT` sorguları, veritabanından veri çekmek için en temel ve en sık kullanılan komutlardır. Bu bölümde, `SELECT` sorgularının farklı kullanım senaryolarını ve ipuçlarını inceleyeceğiz.

### 1. **SELECT ile DISTINCT Kullanımı**

`DISTINCT` ifadesi, sorgu sonucunda tekrar eden satırları ortadan kaldırmak için kullanılır. Özellikle benzersiz değerlerin listelenmesi gereken durumlarda kullanışlıdır.

**Örnek Kullanım:**
```sql
SELECT DISTINCT name, price FROM car;
```

Bu sorgu, `car` tablosundaki `name` ve `price` sütunlarında benzersiz olan kombinasyonları getirecektir.

### 2. **SELECT ile LIMIT Kullanımı**

`LIMIT` ifadesi, sorgu sonucunda dönen satır sayısını sınırlamak için kullanılır. Özellikle büyük veri setlerinde performansı artırmak için kullanışlıdır.

**Örnek Kullanım:**
```sql
SELECT * FROM Customers ORDER BY CustomerID LIMIT 3;
```

Bu sorgu, `Customers` tablosundaki ilk 3 müşteriyi getirecektir. `LIMIT` ile birlikte `ORDER BY` kullanmak, sonuçların sıralı bir şekilde gelmesini sağlar.

**Offset ile Kullanım:**
```sql
SELECT * FROM Customers ORDER BY CustomerID LIMIT 2, 1;
```

Bu sorgu, ilk 2 kaydı atlayıp sonraki 1 kaydı getirecektir. `LIMIT offset, count` şeklinde kullanılır.

### 3. **SELECT ile BETWEEN Kullanımı**

`BETWEEN` ifadesi, belirli bir aralıkta bulunan değerleri filtrelemek için kullanılır. Bu, `>=` ve `<=` operatörlerinin birleşimi gibi çalışır.

**Örnek Kullanım:**
```sql
SELECT * FROM stack WHERE id BETWEEN 2 AND 5;
```

Bu sorgu, `id` değeri 2 ile 5 arasında olan tüm satırları getirecektir.

**NOT BETWEEN Kullanımı:**
```sql
SELECT * FROM stack WHERE id NOT BETWEEN 2 AND 5;
```

Bu sorgu, `id` değeri 2 ile 5 arasında **olmayan** tüm satırları getirecektir.

### 4. **SELECT ile LIKE Kullanımı**

`LIKE` ifadesi, belirli bir desene uyan değerleri filtrelemek için kullanılır. Özellikle metin aramalarında kullanışlıdır.

**Örnek Kullanım:**
```sql
SELECT * FROM stack WHERE username LIKE '%adm%';
```

Bu sorgu, `username` sütununda "adm" ifadesini içeren tüm satırları getirecektir.

**Joker Karakterler:**
- `%`: Herhangi bir sayıda karakteri temsil eder.
- `_`: Tek bir karakteri temsil eder.

**Örnek:**
```sql
SELECT * FROM stack WHERE username LIKE 'adm_n';
```

Bu sorgu, `username` sütununda "adm" ile başlayan ve ardından herhangi bir karakter gelen satırları getirecektir (örneğin, "admin").

### 5. **SELECT ile CASE veya IF Kullanımı**

`CASE` ve `IF` ifadeleri, sorgu sonuçlarını belirli koşullara göre değiştirmek için kullanılır. Bu, sonuçları daha anlamlı hale getirmek için kullanışlıdır.

**Örnek Kullanım:**
```sql
SELECT name, percentage,
      CASE WHEN percentage >= 35 THEN 'Pass' ELSE 'Fail' END AS Remark
FROM student;
```

Bu sorgu, `student` tablosundaki öğrencilerin yüzdelik puanlarına göre "Pass" veya "Fail" olarak bir sonuç dönecektir.

**IF ile Kullanım:**
```sql
SELECT name, percentage,
      IF(percentage >= 35, 'Pass', 'Fail') AS Remark
FROM student;
```

Bu sorgu da aynı sonucu `IF` ifadesi ile dönecektir.

### 6. **SELECT ile Tarih Aralığı Kullanımı**

Tarih aralığı kullanarak belirli bir dönemdeki verileri çekmek için `BETWEEN` veya `>=` ve `<` operatörleri kullanılabilir.

**Örnek Kullanım:**
```sql
SELECT * FROM orders WHERE order_date >= '2023-01-01' AND order_date < '2023-02-01';
```

Bu sorgu, Ocak 2023 ayındaki tüm siparişleri getirecektir.

### 7. **SELECT ile Alias (AS) Kullanımı**

`AS` ifadesi, sütun veya tablo adlarını geçici olarak değiştirmek için kullanılır. Bu, sorgu sonuçlarını daha okunabilir hale getirir.

**Örnek Kullanım:**
```sql
SELECT username AS val FROM stack;
```

Bu sorgu, `username` sütununu `val` olarak yeniden adlandıracaktır.

---

Bu bilgilerle, `SELECT` sorgularını daha etkili bir şekilde kullanabilir ve veritabanından istediğiniz verileri daha kolay bir şekilde çekebilirsiniz. Bir sonraki yazıda, JOIN'ler ve alt sorgular gibi daha gelişmiş SQL konularına değineceğiz.

---