{"id":220,"title":"SQL Notlar\u0131: SELECT Sorgular\u0131 ve \u0130leri Seviye Kullan\u0131mlar","content":"<p># SELECT Sorgular\u0131 ve \u0130leri Seviye Kullan\u0131mlar<\/p><p>SQL'de `SELECT` sorgular\u0131, veritaban\u0131ndan veri \u00e7ekmek i\u00e7in en temel ve en s\u0131k kullan\u0131lan komutlard\u0131r. Bu b\u00f6l\u00fcmde, `SELECT` sorgular\u0131n\u0131n farkl\u0131 kullan\u0131m senaryolar\u0131n\u0131 ve ipu\u00e7lar\u0131n\u0131 inceleyece\u011fiz.<\/p><p>### 1. **SELECT ile DISTINCT Kullan\u0131m\u0131**<\/p><p>`DISTINCT` ifadesi, sorgu sonucunda tekrar eden sat\u0131rlar\u0131 ortadan kald\u0131rmak i\u00e7in kullan\u0131l\u0131r. \u00d6zellikle benzersiz de\u011ferlerin listelenmesi gereken durumlarda kullan\u0131\u015fl\u0131d\u0131r.<\/p><p>**\u00d6rnek Kullan\u0131m:**<br>```sql<br>SELECT DISTINCT name, price FROM car;<br>```<\/p><p>Bu sorgu, `car` tablosundaki `name` ve `price` s\u00fctunlar\u0131nda benzersiz olan kombinasyonlar\u0131 getirecektir.<\/p><p>### 2. **SELECT ile LIMIT Kullan\u0131m\u0131**<\/p><p>`LIMIT` ifadesi, sorgu sonucunda d\u00f6nen sat\u0131r say\u0131s\u0131n\u0131 s\u0131n\u0131rlamak i\u00e7in kullan\u0131l\u0131r. \u00d6zellikle b\u00fcy\u00fck veri setlerinde performans\u0131 art\u0131rmak i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p><p>**\u00d6rnek Kullan\u0131m:**<br>```sql<br>SELECT * FROM Customers ORDER BY CustomerID LIMIT 3;<br>```<\/p><p>Bu sorgu, `Customers` tablosundaki ilk 3 m\u00fc\u015fteriyi getirecektir. `LIMIT` ile birlikte `ORDER BY` kullanmak, sonu\u00e7lar\u0131n s\u0131ral\u0131 bir \u015fekilde gelmesini sa\u011flar.<\/p><p>**Offset ile Kullan\u0131m:**<br>```sql<br>SELECT * FROM Customers ORDER BY CustomerID LIMIT 2, 1;<br>```<\/p><p>Bu sorgu, ilk 2 kayd\u0131 atlay\u0131p sonraki 1 kayd\u0131 getirecektir. `LIMIT offset, count` \u015feklinde kullan\u0131l\u0131r.<\/p><p>### 3. **SELECT ile BETWEEN Kullan\u0131m\u0131**<\/p><p>`BETWEEN` ifadesi, belirli bir aral\u0131kta bulunan de\u011ferleri filtrelemek i\u00e7in kullan\u0131l\u0131r. Bu, `&gt;=` ve `&lt;=` operat\u00f6rlerinin birle\u015fimi gibi \u00e7al\u0131\u015f\u0131r.<\/p><p>**\u00d6rnek Kullan\u0131m:**<br>```sql<br>SELECT * FROM stack WHERE id BETWEEN 2 AND 5;<br>```<\/p><p>Bu sorgu, `id` de\u011feri 2 ile 5 aras\u0131nda olan t\u00fcm sat\u0131rlar\u0131 getirecektir.<\/p><p>**NOT BETWEEN Kullan\u0131m\u0131:**<br>```sql<br>SELECT * FROM stack WHERE id NOT BETWEEN 2 AND 5;<br>```<\/p><p>Bu sorgu, `id` de\u011feri 2 ile 5 aras\u0131nda **olmayan** t\u00fcm sat\u0131rlar\u0131 getirecektir.<\/p><p>### 4. **SELECT ile LIKE Kullan\u0131m\u0131**<\/p><p>`LIKE` ifadesi, belirli bir desene uyan de\u011ferleri filtrelemek i\u00e7in kullan\u0131l\u0131r. \u00d6zellikle metin aramalar\u0131nda kullan\u0131\u015fl\u0131d\u0131r.<\/p><p>**\u00d6rnek Kullan\u0131m:**<br>```sql<br>SELECT * FROM stack WHERE username LIKE '%adm%';<br>```<\/p><p>Bu sorgu, `username` s\u00fctununda \"adm\" ifadesini i\u00e7eren t\u00fcm sat\u0131rlar\u0131 getirecektir.<\/p><p>**Joker Karakterler:**<br>- `%`: Herhangi bir say\u0131da karakteri temsil eder.<br>- `_`: Tek bir karakteri temsil eder.<\/p><p>**\u00d6rnek:**<br>```sql<br>SELECT * FROM stack WHERE username LIKE 'adm_n';<br>```<\/p><p>Bu sorgu, `username` s\u00fctununda \"adm\" ile ba\u015flayan ve ard\u0131ndan herhangi bir karakter gelen sat\u0131rlar\u0131 getirecektir (\u00f6rne\u011fin, \"admin\").<\/p><p>### 5. **SELECT ile CASE veya IF Kullan\u0131m\u0131**<\/p><p>`CASE` ve `IF` ifadeleri, sorgu sonu\u00e7lar\u0131n\u0131 belirli ko\u015fullara g\u00f6re de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Bu, sonu\u00e7lar\u0131 daha anlaml\u0131 hale getirmek i\u00e7in kullan\u0131\u015fl\u0131d\u0131r.<\/p><p>**\u00d6rnek Kullan\u0131m:**<br>```sql<br>SELECT name, percentage,<br>&nbsp; &nbsp; &nbsp; CASE WHEN percentage &gt;= 35 THEN 'Pass' ELSE 'Fail' END AS Remark<br>FROM student;<br>```<\/p><p>Bu sorgu, `student` tablosundaki \u00f6\u011frencilerin y\u00fczdelik puanlar\u0131na g\u00f6re \"Pass\" veya \"Fail\" olarak bir sonu\u00e7 d\u00f6necektir.<\/p><p>**IF ile Kullan\u0131m:**<br>```sql<br>SELECT name, percentage,<br>&nbsp; &nbsp; &nbsp; IF(percentage &gt;= 35, 'Pass', 'Fail') AS Remark<br>FROM student;<br>```<\/p><p>Bu sorgu da ayn\u0131 sonucu `IF` ifadesi ile d\u00f6necektir.<\/p><p>### 6. **SELECT ile Tarih Aral\u0131\u011f\u0131 Kullan\u0131m\u0131**<\/p><p>Tarih aral\u0131\u011f\u0131 kullanarak belirli bir d\u00f6nemdeki verileri \u00e7ekmek i\u00e7in `BETWEEN` veya `&gt;=` ve `&lt;` operat\u00f6rleri kullan\u0131labilir.<\/p><p>**\u00d6rnek Kullan\u0131m:**<br>```sql<br>SELECT * FROM orders WHERE order_date &gt;= '2023-01-01' AND order_date &lt; '2023-02-01';<br>```<\/p><p>Bu sorgu, Ocak 2023 ay\u0131ndaki t\u00fcm sipari\u015fleri getirecektir.<\/p><p>### 7. **SELECT ile Alias (AS) Kullan\u0131m\u0131**<\/p><p>`AS` ifadesi, s\u00fctun veya tablo adlar\u0131n\u0131 ge\u00e7ici olarak de\u011fi\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Bu, sorgu sonu\u00e7lar\u0131n\u0131 daha okunabilir hale getirir.<\/p><p>**\u00d6rnek Kullan\u0131m:**<br>```sql<br>SELECT username AS val FROM stack;<br>```<\/p><p>Bu sorgu, `username` s\u00fctununu `val` olarak yeniden adland\u0131racakt\u0131r.<\/p><p>---<\/p><p>Bu bilgilerle, `SELECT` sorgular\u0131n\u0131 daha etkili bir \u015fekilde kullanabilir ve veritaban\u0131ndan istedi\u011finiz verileri daha kolay bir \u015fekilde \u00e7ekebilirsiniz. Bir sonraki yaz\u0131da, JOIN'ler ve alt sorgular gibi daha geli\u015fmi\u015f SQL konular\u0131na de\u011finece\u011fiz.<\/p><p>---<\/p><p>&nbsp;<\/p>","excerpt":"SELECT sorgular\u0131n\u0131 daha etkili bir \u015fekilde kullanabilir ve veritaban\u0131ndan istedi\u011finiz verileri daha kolay bir \u015fekilde \u00e7ekebilirsiniz. Bir sonraki yaz\u0131da, JOIN'ler ve alt sorgular gibi daha geli\u015fmi\u015f SQL konular\u0131na de\u011finece\u011fiz.","created_at":"2025-01-13 14:35:46","updated_at":"2026-09-23 16:37:25","category_id":9,"view_count":593,"reading_time":4,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-01-13 14:35:46","featured_image":"resimyok.jpg","slug":"sql-notlari-select-sorgulari-ve-ileri-seviye-kullanimlar","category_name":"Yaz\u0131l\u0131m","category_slug":"yazilim"}