Yeni
Yükleniyor..

Who Am I

Merhaba Hoşgeldiniz ben İbrahim Gültepe Yazılım ve Siber Güvenlik uzmanıyım bu bloğu açmamdaki neden C# eğitimi ve güncel olan virüs donanım sorunlarını çözmek ve sizinde yapabileceğiniz hack çalışmalarını öğretmek.

SQL Temel Sorgular


SQL, bir programlama dili değil, sorgu dilidir. Bu sebeple SQL ile yapabilecekleriniz sınırlıdır. Basit bir veritabanından kayıt çekme işlemini SQL ile gerçekleştirebilirsiniz. Fakat SQL, bir döngü kurmanızı sağlayan kod yapısına sahip değildir. Bu yüzden SQL ile beraber onu tamamlayıcı bir programlama dili kullanılır.
Bir SQL sorgusu, server üzerinde icra edilir. SQL sorgusu ne kadar karışık olursa, server o kadar yorulacaktır. Ben buradan SQL ile beraber, onu tamamlayıcı ve Server ın yükünü hafifletici bir dil kullanılmasını gayet mantıklı buldum. Eğer yanlış düşündüğümü düşünen varsa, lütfen belirtsin.
SQL ile ilgili belirtmek istediğim noktalar bunlardı, biraz fazla uzatmış olabilirim ama hadi biraz SQL sorgusu yazalım.

Veri Tabanı için bir Tablo oluşturalım

SQL bilgilerimi siteye aktarırken (gören de aşmış sanacak), bunu bir örnek üzerinden yapmanın daha mantıklı olacağını düşünüyorum. Bu sebeple kendime ufak bir Film Veritabanı daha doğrusu bir tablo oluşturdum. Bu film veritabanını da tabii ki IMDB’den yararlanarak oluşturdum. Seçtiğim filmler TOP 250 içinde en beğendiğim filmlerdir. Konuyu dağıtmadan, bu veritabanını aşağıda oluşturuyorum.
Film_NoAdTarihIMDB_Puan
1The Shawshank Redemption19949,2
2The Dark Knight20088,8
3Fight Club19998,8
4Forrest Gump19948,6
5Leon19948,6
6V For Vandetta20068,1
7A Beautiful Mind20068,0
8Eternal Sunshine of the Spotless Mind20048,4
9Inception20108,8
10Good Will Hunting19978,1
Bundan sonra bu tabloyu değişik sorgular için sık sık kullanacağım. Bu arada bu tablonun ismi “Filmler“.
Bir SQL sorgusuna başlarken yazılan temel bir kelime vardır. Bu kelime, daha doğrusu kod herVeritabanı Yönetim Sisteminde (VTYS) aynıdır. SQL öğrenmeye başlayan herkes bunu bilir : SELECT. Bu komut ile veritabanında oluşturduğunuz sütunlardan herhangi birini, ikisini ya da hepsini seçebilirsiniz.
Sorgu kodunu SELECT ile yazdıktan sonra geriye belirtmeniz gereken son önemli birşey daha kalıyor. Bu sorgu hangi tablo için çalışacak ? Bunun için de FROM kelimesi kullanılıyor.

Select ve FROM ile Basit bir Sorgu oluşturma

Bu iki kelimeyi kullanarak en basit ve temel sorgumuzu, oluşturduğumuz tablodan sadece film isimlerini çeken sorguyu yazalım ;
SELECT Ad
FROM Filmler
Film isimlerini ve yanında IMDB Puanlarını çeken sorguyu yazalım ;
SELECT Ad, IMDB_Puan
FROM Filmler
Şimdi de tablodaki bütün kayıtları çeken sorguyu yazalım ;
SELECT Film_No, Ad, Tarih, IMDB_Puan
FROM Filmler
Bu şekilde tüm kayıtları çekebiliyoruz fakat bunun bir de kısa yolu var ;
SELECT *
FROM Filmler
Asteriks (*) karakteriyle tablodaki bütün değerleri çekebiliyoruz.

WHERE ile Sorgunuza Kriter verin

Tabii ki SQL dediğimiz dil bu iki komuttan oluşmuyor. WHERE komutu ile yaptığınız sorguya bir kriter belirleyebilirsiniz. Kriterleri belirtirken herhangi bir programlama dilinde olduğu gibi mantıksal operatörleri, LIKE, IN ve BETWEEN komutlarını kullanabilirsiniz.

Mantıksal Operatörler ile Kriter belirleme

Öncelikle mantıksal operatörleri kullanalım. Mantıksal operatörleri aşağıdaki gibi sıralayabiliriz ;
= (eşit), <> (eşit değil), < (küçük), > (büyük), <=(küçük eşit), >= (büyük eşit)
IMDB Puanı 8,5′den büyük olan filmlerin tüm bilgilerini çeken sorguyu yazalım ;
SELECT *
FROM Filmler
WHERE IMDB_Puan > 8,5
1994 yılında çıkan filmlerin adlarına ulaşalım ;
SELECT Ad
FROM Filmler
WHERE Tarih = 1994
Mantıksal operatörleri stringler, türkçesiyle katarlar için de kullanabilirsiniz. Dikkat etmeniz gereken nokta ise string değerlerini tırnak işaretleri arasına almanız gerektiğidir.
Film ismi “L” harfinden büyük olan filmlerin tüm bilgilerine ulaşalım ;
SELECT *
FROM Filmler
WHERE Ad > 'L'
Tek tırnak ya da çift tırnak farketmiyor.

LIKE ile Kriter Belirleme

Kriterde belirtilen karakter katarını barındıran kayıtlara ulaşmak için kullanılır. Asterisk karakteri LIKE ile beraber kullanılırken, tamamlayıcı görevi görür.
Tablodan Adı “The” ile başlayan kayıtlara ulaşalım ;
SELECT *
FROM Filmler
WHERE Ad LIKE "The*"
Knight katarı ile biten kayıtlara ulaşalım ;
SELECT *
FROM Filmler
WHERE Ad LIKE "*Knight"
Böyle bir sorgu bize The Dark Knight filmini döndürecektir.
İçinde “for” geçen film isimlerine ulaşalım ;
SELECT Ad
FROM Filmler
WHERE Ad LIKE "*for*"
Bu sorgu ise, Forrest Gump ve V for Vandetta adlı filmleri döndürecektir.

IN ile Kriter Belirleme

İstediğiniz bir sütundaki kayıtlardan, kriterde belirtilmiş kaydı ya da kayıtları döndürür.
2009 yılındaki filmlere ulaşmak için aşağıdaki gibi bir sorgu kullanabiliriz ;
SELECT *
FROM Filmler
WHERE Tarih IN (2009)
Adı Leon ve Avatar olan filmlerin tüm verilerine ulaşalım ;
SELECT *
FROM Filmler
WHERE Ad IN ('Leon','Avatar')
Bu şekilde IN fonksiyonunun içine birden fazla kriter de girebiliyorsunuz.

BETWEEN ile Kriter Belirleme

Adın da anlaşıldığı gibi bu fonksiyon iki parametre alıp, bu değerler arasındaki kayıtları döndürüyor.
1994 ve 2000 yılları arasındaki filmlere BETWEEN kullanarak erişelim ;
SELECT *
FROM Filmler
WHERE Tarih BETWEEN 1994 AND 2000
Görüldüğü gibi iki değer arasında AND kullanmak gerekiyor.
Katarlar için de bir örnek yapalım, baş harfi “I” ve “S” arasında olan filmlere ulaşalım ;
SELECT *
FROM Filmler
WHERE Ad BETWEEN 'I' AND 'S'

Sonuç – - Özet

SQL bir sorgu dilidir. SELECT, FROM, WHERE gibi basit komutlardan oluşur. Kompleks bir yapısı yoktur.
SELECT ile seçme işlemi yapılır, FROM ile hangi tablodan seçme işlemi yapılacağı belirtilir.
WHERE ile beraber kullanılan mantıksal operatörler ve fonksiyonlar ile bir sorgu için kriter belirlenebilir. LIKE, IN ve BETWEEN komutları ile sorgunuzu istediğiniz şekilde düzenleyebilirsiniz.
Google Plus'da Paylaş

Yazar Unknown

Yazar hakkında bilgi yazılacak.
    Blogger Yorumları
    Facebook Yorumları

0 yorum :

Yorum Gönder

Ziyaretçi Sayısı

15.08.2015 den itibaren Toplam 1.982.258 Kişi Tarafından Ziyaret Edildi