Unique
- Unique fonksiyonu parametre olarak içerisine aldığı subqueryden dönen kayıt tek bir satır içeriyorsa yani benzersiz ise TRUE değil ise FALSE döndürür.
- select * from Musteri m Where unique(select siparisID from Siparis s where s.MusteriID = m.MusteriID) --> Tek bir siparişi olan müşterileri bulan sorgu
Not Unique
- Not Unique fonksiyonu parametre olarak içerisine aldığı subqueryden dönen kayıt birden çok bir satır içeriyorsa ise TRUE değil ise FALSE döndürür.
- select * from Musteri m Where not unique(select siparisID from Siparis s where s.MusteriID = m.MusteriID) --> Birden çok siparişi olan müşterileri bulan sorgu
'%' Karakteri
Sql cümlelerinde dizgi işlemlerinde kullanılır. Dizgi işlemlerinde '%' karakteri her şey olabilir anlamına gelmektedir. Bu karakter kullanıldığı yerde sonsuz sayıda karakter olabileceğini belirtir.
Örnek:
LIKE('%ET') kullanımı ET ile biten tüm dizgileri kapsar.
LIKE('%ET%') kullanımı içinde ET geçen tüm dizgileri kapsar.
'_' Karakteri
Sql cümlelerinde dizgi işlemlerinde kullanılır. Dizgi işlemlerinde '_' karakteri her şey olabilir anlamına gelmektedir. Bu karakter kullanıldığı yerde sadece bir karakter olabileceğini belirtir.
Örnek:
LIKE('_ET') kullanımı ET ile biten üç harfli tüm dizgileri kapsar.
LIKE('_E__') kullanımı ilk harfi her hangi bir harf olabilen daha sonra 'E' harfi gelen ve sonraki 2 harfi herhangi bir harf olabilen dört harfli dizgileri kapsar.
'||' Karakteri
Sql cümlelerinde dizgi işlemlerinde kullanılır. Dizgileri birleştirmek için kullanılır.
Örnek:
LIKE('Berkay' || ' ' || 'DEMİREL') kullanımı 'Berkay DEMİREL' olan dizgileri kapsar.
'\' Karakteri
Sql cümlelerinde dizgi işlemlerinde kullanılır. Dizgilerde kullanılan '%', '_' gibi özel karakterleri gerçek anlamları ile kullanmamızı sağlayan karakterdir.
Örnek:
LIKE('%Berkay\_Demirel\'e%') kullanımı içinde 'Berkay_Demirel'e' geçen dizgileri kapsar.
- ALL fonksiyonu parametre olarak içerisine aldığı subqueryden geriye dönen sonuçların tamamı karşılatırma kriterine uyuyorsa TRUE herhangi biri uymuyorsa FALSE döndürür.
- select * from Musteri m Where 5000 < All(select siparisTutarı from Siparis s where s.MusteriID = m.MusteriID)
- SOME - ANY fonksiyonları parametre olarak içerisine aldığı subqueryden geriye dönen sonuçların herhangi bir tanesi karşılatırma kriterine uyuyorsa TRUE hiç biri uymuyorsa FALSE döndürür.
- select * from Musteri m Where 2000 < Some(select SiparisTutari from Siparis s where s.MusteriID = m.MusteriID)
- Exists fonksiyonu parametre olarak içerisine aldığı subqueryden herhangi bir sonuç geriye dönüyorsa TRUE hiç bir kayıt geri dönüşü yoksa False döndürür. Exists(Select Null) gibi bir ifade ise geriye TRUE döndürür
- select * from Musteri m Where Exists(select siparisID from Siparis s where s.MusteriID = m.MusteriID)
Veri tipleri performans açısından oldukça önemlidir. Oluşturduğumuz kolonlarda veri tiplerini seçerken oldukça dikkatli olmak gerekir ve amaca en uygun veri tipini seçmek gerekir.
- Char veritipi 0 ile 255 karakter arasında veri tutabilirken, Varchar veritipi 0 ile 65,535 karakter arasında veri tutabilmektedir.
- Char veritipi, tanımlandığı kadar kapasitenin tamamını kullanır. Örnek olarak siz 5 karakterlik bir alan tanımlamışsanız, bu alana 2 karakter bile girmiş olsanız, geriye kalan sağdan 3 karakterlik alan boşluk karakteri ile doldurulur. Varchar veritipi ise değişken bir yapıya sahiptir ve tanımlanan karakter katarına kadar olan boyutta değişkenlik gösterebilir.
- Char veritipinin kullanım alanı olarak sabit uzunluklu veri yapıları gösterilebilir. (Örn: telefon numaraları, kredi kartı no vb.) Varchar ise değişken uzunluklu veri yapıları için uygundur. (Örn: isim, mail vb.)
- Char ve Varchar saklama alanları Unicode karakterleri desteklemez.