Make your own free website on Tripod.com

SQL (STRUCTURED QUERY LANGUAGE) YAPISAL PROGRAMLAMA DİLİ

Veri tabanı işlemleri yaparken, bilgilerin ortak özelliklerine göre sorgularının yapılmasını SQL dili ile sağlarız. SQL dili ile bir Query yani sorgulama oluşturmak oldukça basittir. SQL dilinde kullanılan belli baslı önemli komutlar aşağıda anlatılmaktadır. Bundan önce Select Komutu ile SQL de kullanılan komutları kalıp halinde yazalım, daha sonra bunları açıklayacağız.

 

Select Tablo1.Alan1, Tablo1.Alan2, ... [ * ] From TabloAdi
Where Sorgulama İfadesi
Group By Gruplanacak Hücreler
Order By Küçükten büyüğe yada Büyükten küçüğe Hücrelerin sıralanması
Having Gruplanan yada birleştirilen kayıtların hangi kritere göre sorgulanması

Select ile kullanılmayan SQL komutlarından bazıları da şunlardır :

Insert Into Tablo1 (Alan1,Alan2)
Values ('String İfade',Sayısal İfade ...)

Delete * From Tablo1 Where Sorgulama İfadesi

Update Tablo1
set Tablo1.Alan1='String İfade',Tablo1.Alan2=Sayısal İfade, ...
Where Sorgulama İfadesi

 

SQL Komutları

 

FROM Deyimi

From deyimi sorgulanacak ve kullanılacak bilgilerin hangi tablodan alınacağını belirtir. Tablodan hangi hücrelerin içindeki bil-gilerin kullanılacağını ise; TabloAdi.Hücre1, TabloAdi.Hücre2, ... veya * jokeri ile belirleriz. Bir örnek ile daha iyi anlayacağız.

 

Öğrenci Tablosu;

ADI SOYADI NO

metin[20] metin[20] sayı

Örnek : Öğrenci tablosu ADI, SOYADI, NO olmak üzere 3 hücreden oluşan bir tablo olsun. SQL ile, Bu tablodan ADI ve SOYADI hücrelerini seçerek yeni bir tablo (Bu bir sorgudur{Query} ) oluşturunuz.

Select Öğrenci.ADI, Öğrenci.SOYADI From Öğrenci

Eğer tüm hücreleri seçin deseydik ; o zaman yazacağımız SQL cümlesi söyle olmalı idi. :

Select Öğrenci.ADI, Öğrenci.SOYADI, Öğrenci.NO From Öğrenci

yada

Select * From Öğrenci

 

WHERE Deyimi

Where deyimini de ; bir tablodan istediğimiz hücreleri seçerken, o tabloda bulunan kayıtlardan hangilerini, hangi kriterlere göre almak istersek kullanırız. Yani tabloda bulunan kayıtlardan hangilerini almak istiyorsak istediğimiz koşulu where deyiminden sonra kullanarak bu kayıtları elde edebiliriz. Aşağıdaki örnekleri inceleyelim...

 

Örnek 1 : Yine Öğrenci tablosunda bulunan kayıtlardan Adi Serkan olan öğrencileri seçmemizi sağlayan SQL cümlesi şöyledir:

Select * From Öğrenci Where Öğrenci.ADI = "Serkan"

 

Örnek 2: Yada soyadında " r " harfi geçen öğrencileri Aşağıdaki SQL cümlesi ile seçeriz..:

Select * From Öğrenci Where Öğrenci.SOYADI = "%r%"

 

Örnek 3: Eğer Tabloda bulunan kayıtlardan diyelim ki; numarası 1044 ile 2866 arasında olan öğrencileri seçmek istersek Aşağıdaki SQL cümlesini kullanırız..:

Select * From Öğrenci Where 1044<Öğrenci.NO<2866

 

GROUP BY Deyimi

Group by deyimi SUM, COUNT kullanarak toplam bir sonuç ile bir tablodan istenilen kritere göre istenilen hücreler alınır ve yine group by 'dan sonra yazılan hücrelere göre gruplanır. GROUP BY isteğe bağlıdır. SELECT deyiminde SQL toplam işlevi yoksa özet değerler göz ardı edilir.

 

Örnek 1 : Yine Öğrenci tablomuzu kullanaraktan soyadı Türkel olan öğrencileri seçerek AD, SOYAD ve NO fieldlarina göre gruplandıralım...:

 

Select Öğrenci.AD, ögreci.SOYAD, Öğrenci.NO From Öğrenci Where Öğrenci.SOYAD='Türkel' Group By Öğrenci.AD, ögreci.SOYAD, Öğrenci.NO

ORDER BY Deyimi

Order By deyimi ile de; sorgulama sonucunda bulunan kayıtlar verilen hücrelere göre, Büyükten küçüğe yada Küçükten büyüğe doğru sıralanır.

 

Örnek 1 : Adi Serkan olan Öğrencilerin numaralarını Küçükten büyüğe doğru sıralayınız..:

Select * From Öğrenci Where Öğrenci.AD='Serkan' Order By Öğrenci.NO [asc]

asc yi yazmasak da burada default değer olduğu için Küçükten büyüğe doğru sıralama yapardı. Eğer büyükten küçüğe doğru sırala dese idik o zaman söyle bir SQL cümlesi yazmalıydık...:

Select * From Öğrenci Where Öğrenci.AD='Serkan' Order By Öğrenci.NO Desc

 

HAVING Deyimi

Having Deyimi de; GROUP BY yan tümcesi olan bir SELECT deyiminde hangi gruplandırılmış kayıtların görüntüleneceğini belirler. Yani GROUP BY kayıtları birleştirdikten sonra, HAVING deyimi de, HAVING yan tümcesinin koşullarını sağlayan ve GROUP BY yan tümcesi ile gruplandırılmış kayıtları görüntüler.

 

Örnek 1 Öğrenci tablosundan AD, SOYAD ve NO fieldlarini alıp bunları gruplayan ve sonra bunları da numarası 1000 ile 2000 arasında olan kayıtlara göre listeleyen SQL cümlesini yazınız..:

Select Öğrenci.AD, Öğrenci.SOYAD, Öğrenci.NO From Öğrenci
Group By Öğrenci.AD, Öğrenci.SOYAD, Öğrenci.NO
Having 1000<Öğrenci.NO<2000

 

INSERT INTO Deyimi

Insert Into Deyimi bir tabloya bir veya daha çok sayıda kayıt eklemeye yarayan SQL komutudur. Buna ekleme sorgusu da denir. Esas kullanılma kalıbı Aşağıdaki gibidir..:

 

Çok sayıda kayıt ekleme sorgusu:

INSERT INTO TabloAdi [(alan1[, alan2[, ...]])] [IN disveritabani]
SELECT [kaynak.]alan1[, alan2[, ...] FROM tabloifadesi

Tek kayıt ekleme sorgusu:

INSERT INTO TabloAdi [(alan1[, alan2[, ...]])] VALUES (deger1[, deger2[, ...])

 

Örnek 1 : Öğrenci tablosuna AD = "Serkan" SOYAD = "Türkel" NO = 4683 bilgilerini ekleten SQL cümlesini yazın..:

Insert Into Öğrenci (AD,SOYAD,NO) Values('Serkan','Türkel',4683)

 

DELETE Deyimi

Delete deyimini bir tablodan bir yada daha fazla kayıt silmek için kullanırız. Aşağıdaki gibi bir yazılış kalıbı vardır..:

DELETE [Tablo.*] FROM Tablo WHERE sorgulama ifadesi

 

Örnek 1 : Yine Öğrenci tablosundan numarası 4556 olan öğrencinin kaydını silen SQL cümlesiniz yazınız..:

Delete * From Öğrenci Where Öğrenci.NO=4556

 

UPDATE Deyimi

Belirtilen kriterlere göre tablodan ilgili kayıt/kayıtları alarak değerlerini değiştirmeye yarayan SQL komutudur. Kullanılış kalıbı Aşağıdaki gibidir..:

UPDATE Tablo SET yenideger WHERE Sorgulama İfadesi

 

Örnek 1 : Öğrenci tablosuna eklediğimiz 4683 numaraları Serkan Türkel 'in adini ve soyadını değiştirelim. Adi = "Ali", soyadı = "Sert" olsun. SQL cümlesini yazın...:

UPDATE Öğrenci SET Öğrenci.AD = 'Ali',Öğrenci.SOYAD = 'Sert' Where Öğrenci.NO = 4683

 

SQL Fonksiyonları

SQL      yazılımında sorgulama yapılırken kullanılabilecek aritmetik fonksiyonlar tabloda verilmiştir...

SUM     Yapılan sorgulamada kriteri karşılayan sayısal bilgilerin toplamını verir.

AVG     Yapılan sorgulamada kritere karşılık gelen sayısal bilgilerin aritmetik ortalamasını alır.

COUNT  Yapılan sorgulamada kritere uyan sayısal bilgilerin adetini hesaplar.

MAX     Yapılan sorgulamada kritere uyan sayısal bilgilerin en büyük değerini yakalar.

MIN       Yapılan sorgulamada kritere uyan sayısal bilgilerin en küçük değerini yakalar.

STDEV            Yapılan sorgulamada kritere uyan sayısal bilgilerin standart sapmasını alır.

STDEVP Yapılan sorgulamada kritere uyan sayısal bilgilerin istatistiksel standart sapmasını alır.

VAR     Yapılan sorgulamada kritere uyan sayısal bilgilerin varyansını alır.

VARP              Yapılan sorgulamada kritere uyan sayısal bilgilerin istatistiksel varyansını alır.