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 between #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