SQL :Veri Dünyasına Giriş
Herkese merhabalar! Umarım iyisinizdir. SQL öğrenme sürecime sizleri de dahil etmek istedim ve öğrendiklerimi paylaşmayı düşünüyorum.
Öncelikle hayatımızın her alanında bulunan data (veri) kavramından biraz bahsetmek istiyorum. Kısaca açıklamak gerekirse, veri tek başınayken pek fazla anlam ifade etmez. Örneğin Spotify’da çaldığımız şarkılar: Aslında her bir şarkının adı, süresi, sanatçısı birer veri. Ama Spotify bunları toplayıp size “en çok şu tarz müzik dinliyorsun” diye bir özet çıkardığında, işte o da bilgi oluyor.

İşte bu ham verilerin bir araya geldiği, düzenlendiği ve ihtiyaç duyduğumuzda ulaşabileceğimiz kısım veritabanı (Database) oluyor. Bu noktada aklıma şu anda izlemekte olduğum The Playlist dizisi geliyor. Dizide Spotify’ın doğuş hikâyesini izlerken sürekli şu fikrin etrafında dönülüyordu: ‘Milyonlarca şarkı tek bir yerde toplanmalı ve herkese ulaşabilmeli.’ İşte bu bana veritabanını hatırlatıyor. Çünkü veritabanı da aslında aynı şekilde çalışıyor; dağınık halde duran verileri düzenli bir şekilde bir araya getirip ihtiyacı olan kişiye ulaştırıyor. SQL de bize tam olarak bu imkânı sunuyor.
Veritabanı Yönetim Sistemi ve SQL
Peki bu veritabanındaki verilere nasıl ulaşıyoruz? Bu noktada bir Veritabanı Yönetim Sistemi’ne (DBMS) ihtiyacımız oluyor. Bu sistem, verilerin eklenmesini, silinmesini, güncellenmesini ve sorgulanmasını kolaylaştıran bir yazılımdır. Yani veritabanı ile konuşmak için bir program/arayüze ihtiyacımız var.
SQL, verileri tablolar halinde depoluyor ve tablolar arasındaki ilişkiler sayesinde düzenli bir şekilde yönetiliyor. Yani ilişkisel veritabanı (Relational Database) mantığını kullanıyoruz.
Peki biz tüm bu işlemleri yaparken hangi dili kullanıyoruz? Tabii ki bir sorgu dili olan SQL (Structured Query Language). Bu dil, kullanıcılar ve veritabanı arasındaki ilişkiyi kurmak için tasarlanmıştır.
Temel SQL Komutları ve Özellikleri
SQL ile çalışırken bilmemiz gereken bazı temel kurallar ve komutlar şunlardır:
- Case Sensitivity (Büyük/Küçük Harf Duyarlılığı): SQL komutlarında (keyword) büyük küçük harf duyarlılığı yoktur, ancak tırnak içindeki verilerde bu durum veritabanı ayarlarına göre değişebilir.
SELECT Komutunun Temel Yapısı
Bir SQL sorgusu, genellikle aşağıdaki anahtar kelimelerin belirli bir sırayla birleşimiyle oluşur:
SELECT
1. Hangi Sütunlar? (Kolon adları veya Agregasyonlar)
FROM
2. Hangi Tablodan? (Tablo adı)
WHERE
3. Hangi Satırlar? (Satır Filtreleme)
GROUP BY
4. Nasıl Gruplayayım? (Gruplama)
HAVING
5. Grupları Nasıl Filtreleyeyim? (Grup Filtreleme)
ORDER BY
6. Nasıl Sıralayayım? (Sıralama)
LIMIT
7. Kaç Satır Göstereyim? (Sonuç sayısını sınırlama)Önemli Not: SQL motoru bu komutları yazılış sırasına göre değil, mantıksal sıraya göre işler. Örneğin, satırları önce FROM (tabloyu bul), sonra WHERE (filtrele), sonra GROUP BY (grupla) ve en son SELECT (gösterilecek kolonları belirle) sırasıyla işler.
SELECT Kullanım Şekilleri
1. Belirli Sütunları Seçme
Sadece istediğiniz kolonların adlarını virgülle ayırarak yazarsınız.
-- Musteriler tablosundan sadece isim ve soyisim sütunlarını seç
SELECT isim, soyisim
FROM Musteriler;2. Tüm Sütunları Seçme
Tablodaki tüm sütunları getirmek için yıldız işaretini (*) kullanırız.
-- Filmler tablosundaki tüm sütunları seç
SELECT *
FROM Filmler;3. Sütunlara Takma Ad (Alias) Verme
Sorgu sonucunda dönen sütunun başlığını değiştirmek ve daha anlaşılır hale getirmek için AS anahtar kelimesiyle takma ad verebilirsiniz.
-- Fiyat sütununu 'Urun_Fiyati' olarak adlandır
SELECT urun_adi, fiyat AS Urun_Fiyati
FROM Urunler;4. Hesaplama Yaparak Seçme
SELECT içinde matematiksel işlemler yapabilir veya fonksiyonları kullanabiliriz.
-- Fiyatı %18 KDV ekleyerek 'KDVli_Fiyat' adıyla hesapla
SELECT urun_adi, (fiyat * 1.18) AS KDVli_Fiyat
FROM Urunler;Örnek: ORDER BY ile SELECT Kullanımı
Soru: Maaşı 5000'den yüksek olan, ‘Insan Kaynaklari’ departmanında çalışmayan personelin ismini ve maaşını, maaşı en yüksek olandan en düşüğe doğru sıralayınız.
-- SELECT ile başlayan bir sorgu, WHERE ile filtrelenir ve ORDER BY ile son şeklini alır.
SELECT
isim,
maas
FROM
Personel
WHERE
maas > 5000
AND departman NOT IN ('Insan Kaynaklari') -- NOT IN operatörü
ORDER BY
maas DESC; -- DESC ile büyükten küçüğe sırala- USE: Birden fazla veritabanının olduğu bir sunucuda, aktif olarak hangi veritabanı üzerinde işlem yapacağımızı seçmek için kullanılır.
- Farklı Veritabanına Erişim: Eğer
USE sakila;diyereksakilaveritabanını seçtiyseniz ama bir sorgudaemployeesveritabanındaki bir tabloya ulaşmak istersenizemployees.tablo_adışeklinde belirterek ulaşabilirsiniz.
Sorgulamada Kullanılan Temel Komutlar

- WHERE: Tabloyu sorgularken koşul eklemek için kullanılır. Yani “şu satırları getir, diğerlerini getirme” demek. Aynı zamanda filtreleme yapmak için de kullanılır. Örnek: Belirli bir fiyattan yüksek olan ürünleri filtrelemek.
- DISTINCT: Aynı satırları tekrarlamadan (unique olacak şekilde) getirir. Eğer aynı kombinasyondan birden fazla varsa, sadece bir tanesini döndürür.
- COUNT: Bir veriden elinizde kaç tane olduğunu sorgulamak için kullanılır ve bir integer (tam sayı) değer döndürür.

- COUNT(DISTINCT): Belirtilen kolondaki farklı (unique) değerlerin sayısını verir.
SQL Operatörleri
Sorgularımızda birden fazla koşulu birleştirmek veya özel filtrelemeler yapmak için operatörleri kullanırız:

- AND: Birden fazla koşulu aynı anda sağlamanız gerektiğinde kullanılır. Tüm koşulların doğru olması gerekir.

- OR: Belirtilen koşullardan herhangi birinin doğru olması durumunda kullanılır.

- IN: Bir sütunun değerini birden fazla seçenekle karşılaştırmak için kullanılır. Bir nevi uzun bir
ORyapısı yerine daha kısa ve okunabilir bir yöntemdir.

- NOT IN: Bir değerin belirtilen listedeki hiçbir değerle eşleşmemesi durumunda kullanılır.

- LIKE: Metinsel veriler içinde desen eşleştirme yapmak için kullanılır.
Örnek: İsminde sadece bir adet “n” olan kişilere erişmek.
- Adının başında “S” olanları getirmek için:
LIKE 'S%' - Adının sonunda “S” olanlar için:
LIKE '%S' - İkinci harfi “S” olan kelimeye ulaşmak için:
LIKE '_S%'(Alt çizgi (_) sadece tek bir karakterin yerini tutar, % ise geri kalan her şeyi kapsar.) - “AR” ile başlayan tüm filmleri bulmak için:
LIKE 'AR%'


- BETWEEN: Belirtilen iki değer aralığındaki (bu iki değer dahil) verileri seçmek için kullanılır. Sadece 1–10 gibi sayısal ifadelerle değil, harflerle (
'A've'C'arasındaki isimler gibi) veya date (tarih) terimleri ile de çalışabilir.
Hiç yorum yok:
Yorum Gönder