DISTINCT: Birbirinin ayni olan satirlarin listelenmemesi için bu ifade kullanilir

"select distinct uyeadi from uyeler"


IN: Kosul belirtirken kullaniriz. Mesela ismi netrobin, ali veya mehmet olan isçilerin
bilgilerini listelemek için.

"select * from uyeler
where uyeadi in (’netrobin’,’ali’,’mehmet’ )"


LIKE: Eger aradigimiz kayitin bulunmasi için tam bir karsilastirma yapamiyorsak

"select * from uyeler
where uyeadi like ’a*’


BETWEEN: Kosul belirtirken iki deger arasini belirtmek için kullanilir. Örnek:
Yasi 30 ile 40 arasindaki isçilerin kayitlarini listelemek için

"select * from uyeler
where yas between 30 and 40"

"select * from uyeler
where dogumtrh b
etween #1/1/2009# And #5/1/2009#”


SUM: Seçilen degerlerin toplamini bulur. Isçilerin aldigi toplam ücreti görmek için

"select sum(ucret ) from uyeler"


MAX, MIN, AVG: Verilen degerin en büyügünü, en küçügünü ve ortalamasini bulur.
MAX en büyük degeri, MIN en küçük degeri, AVG ise seçilen degerlerin ortalmasini bulur.

"select MAX(UCRET ), MIN(UCRET ), AVG(UCRET ) from uyeler
 where tarih>’01.01.1999’"


ORDER BY ASC: Tablodan seçtigimiz kayitlari alfabetik siralamak için kullanilir.

"select * from uyeler order by asc"


ORDER BY DESC: Tablodan seçtigimiz kayitlari son kayit sirasina göre siralamak için kullanilir.

"select * from uyeler
order by desc"


GROUP BY: Genelde istatistik amaçlar için kullanilir. Mesela hangi tarihte kaç işçinin işe alindigini bulmak için.


HAVING:  Bir fonksiyonun şartı sağlaması kontrol eder

 

Siparişler  Tablosu:

S_id    SiparişTarih  Fiyat    Müşteri

1          2008/11/12    1000   Hansen

2          2008/10/23    1600   Nilsen

3          2008/09/02    700     Hansen

4          2008/09/03    300     Hansen

5          2008/08/30    2000   Jensen

6          2008/10/04    100     Nilsen

Şimdi, müşterilerden 2000 TL den daha az sipariş veren müşterileri ve toplam maliyeti listeleyin.

 

SELECT Müşteri, SUM(Fiyat) FROM Siparişler

GROUP BY Müşteri

HAVING SUM(Fiyat)<2000

 

SONUÇ:

Müşteri           SUM(Fiyat)

Nilsen             1700


ALIAS: Genelde tablonun veya kolonun adini baska bir seymis gibi degisirebiliriz.
Uyeler tablosundaki uyeadi kolonunun adini isim yaptik yani isim olarak çagirabiliriz.

"SELECT uyeadi AS isim FROM uyeler"


JOIN: Bazen iki yada daha fazla tablodan veri çekmemiz gerekebilir, bu gibi durumlarda bu metodu kullaniriz. Örneğin:Birbiri ile iliskilendirilmis iki tablomuz var biri uyeler digeride detaylar olsun. Iki tablodanda ayni anda sorgulama veya veri çekecegiz. Bu işlemde uyeler tablosunda id=1 ile detaylar tablosundaki uyeno=1 ilişkilindirilerek aşağıdaki şekiilde yapılır.

"SELECT * FROM uyeler,detaylar WHERE uyeler.id=detaylar.uyeno"

INNER JOIN OLARAK

"SELECT * FROM uyeler INNER JOIN detaylar ON uyeler.id=detaylar.uyeno"

LEFT JOIN OLARAK  (Soldaki tablodaki bütün satırlar alınır, eklenen tabloda bu satırlarla eşlenenler eklenir, boş alanlar olabilir.)

"SELECT * FROM uyeler LEFT JOIN detaylar ON uyeler.id=detaylar.uyeno"

RIGHT JOIN OLARAK  (Sağdaki tablodaki bütün satırlar alınır, eklenen tabloda bu satırlarla eşlenenler eklenir, boş alanlar olabilir.)

"SELECT * FROM uyeler RIGHT JOIN detaylar ON uyeler.id=detaylar.uyeno"


UNION ve UNION ALL : Join methoduna benzer ama sadece ayni kolonlara sahip tablolari birbirine baglar. Uyeler ve Detaylar tablosundaki uyeadlarini sorgular.

"Select uyeadi from uyeler UNION Select uyeadi from detaylar"

Sadece UNION kullanirsak iki tabloa ayni isimler olsa bile tekrarlar.
UNION ALL kullanirsak iki tabloda ayni isimler olsa bile sadece tekini sorgular.

"Select uyeadi from uyeler UNION ALL Select uyeadi from detaylar"


SQL FONKSIYONLARI

sql kendi içinde bir cok fonksiyonu barindirir, bunlar sayim ve hesaplama için kullanilabilir.

Fonksiyon sözdizimi kurulusu;


SELECT fonksiyon(kolon ) FROM tablo

Fonksiyon tipleri;
sql fonksiyonlari birkaç temel tip ve kategoriye sahiptir. Temel fonksiyon tipleri:

++ Aggregate (birlesik degerli ) fonksiyonlar
++ Scalar (tekil degerli ) fonksiyonlar

Aggregate (birlesik degerli ) fonksiyonlar:
Bu tip fonksiyonlar birçok deger ile çalisir ama sonucu tek bir degerdir.

Bu fonksiyonlarin MS Access e uygun olanlari:
AVG(kolon ):
girilen kolondaki sayilarin aritmetik ortalama degerini geri yollar
COUNT(kolon ): Bos degerler haric, girilen kolondaki satir sayisini yollar
COUNT(* ): Verilen tablodaki satir sayisini yollar
FIRST(kolon ): girilen kolondaki ilk degeri yollar
LAST(kolon ): girilen kolondaki son degeri yollar
MAX(kolon ): girilen kolondaki en yuksek degeri yollar
MIN(kolon ): girilen kolondaki en dusuk degeri yollar
STDEV(kolon ): girilen kolondaki basit istatiksel standard sapma degerini yollar      
STDEVP(kolon ): girilen kolondaki nüfus istatiksel standard sapma degerini yollar
SUM(kolon ): girilen kolondaki sayilarin toplamini yollar

Bu fonksiyonlarin sql Server a uygun olanlari:
AVG(kolon ):
girilen kolondaki sayilarin aritmetik ortalama degerini geri yollar
BINARY_CHECKSUM: tablonun verilen satirindaki ikilik tabandaki checksum degerini yollar       
CHECKSUM: tablonun verilen satirindaki checksum degerini yollar
CHECKSUM_AGG: bos degerler haricindeki verilerin checksum degerini yollar
COUNT(kolon ): Bos degerler haric, girilen kolondaki satir sayisini yollar
COUNT(* ): Verilen tablodaki satir sayisini yollar
COUNT(DISTINCT kolon ): Verilen tablodaki satir sayisini yollar, fakat cift veri bulunan satirlari bir defa sayar
FIRST(kolon ): girilen kolondaki ilk degeri yollar
LAST(kolon ): girilen kolondaki son degeri yollar
MAX(kolon ): girilen kolondaki en yuksek degeri yollar
MIN(kolon ): girilen kolondaki en dusuk degeri yollar
STDEV(kolon ): girilen kolondaki basit istatiksel standard sapma degerini yollar      
STDEVP(kolon ): girilen kolondaki nüfus istatiksel standard sapma degerini yollar
SUM(kolon ): girilen kolondaki sayilarin toplamini yollar

Scalar (tekil degerli ) fonksiyonlar
Girilen degere gore bir deger ile calisir ve sonuc olarak bir deger yollar.

Bu fonksiyonlarin MS Access e uygun olanlari:
UCASE(c ): bolgedeki karakterlerin hepsini buyuk yapar
LCASE(c ): bolgedeki karakterlerin hepsini kucuk yapar
MID(c,start[,end] ): yazi alanindan karakterleri calistirir
INSTR(c ): yazi alanindan karakterleri gosterir
LEFT(c,karakterNumarasi ): text alaninin girilen sayiya kadar olan kismini yollar (soldan sayar )
RIGHT(c,number_of_char ): text alaninin girilen sayiya kadar olan kismini yollar (sagdan sayar )
ROUND(c,hassasiyet ): sayi alanini verilen hassasiyete gore yuvarlar
MOD(x,y ): bolme isleminde kalani gosterir (mod islemi yapar )
NOW( ): o anki sistem zamanini gosterir
FORMAT(c,format ): alanin gosterim biçimini degistirir
DATEDIFF(d,birinciTarih,ikinciTarih ): tarih hesaplarini yapmak için kullanilir