Karşılaştırma etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Karşılaştırma etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

21 Nisan 2012 Cumartesi

21. HAVING Kullanımı

  • Toplam fonksiyonlarını kullanırken kısıtlama yapacağımız zaman WHERE özelliğini kullanamayız
  • HAVING yantümcesi, GROUP BY ile elde edilecek satırları kısıtlamak için kullanılır.
  •  İşlev olarak WHERE yantümcesi gibi çalışır fakat WHERE yantümcesi gruplama işlemlerinden önce, HAVING yantümcesi ise GROUP BY'dan sonra uygulanır.
Örnek: Dikkat edilmesi gereken HAVING özelliğinin gruplamadan sonra kullanıldığıdır.WHERE özelliğini FROM dan sonra normal olarak kullanabiliriz. Bu sorguda stoklarımızda 500'den az kalan ürün kategorilerimizi listeliyoruz.

Sorgu: SELECT CategoryID, SUM(UnitsInStock) AS 'Miktar' FROM Products GROUP BY CategoryId HAVING SUM(UnitsInStock)<500


Ders 22'ye geçebilirsiniz.

20 Nisan 2012 Cuma

19. WITH TIES Kullanımı

  • WITH TIES yantümcesi, ORDER BY ile sıralanan sonuç kümesinde son kayıt ile aynı değerde olan kayıtların da listelenmesini sağlar. 
  • Bu durumda sonuç kümeniz belirtiğiniz n sayısından daha fazla olabilir.
  •  WITH TIES yantümcesini sadece ORDER BY yantümcesi ile kullanabilirsiniz.
(İki sorgumuzu dikkatlice inceleyelim ve sonuçlarına bakalım. Resimde daha ayrıntılı görebilirsiniz.) 

Örnek: Normal TOP n ile çalıştırdığımız sorgularımızı eğer WITH TIES ile çalıştırırsak n den farklı sonuç listesi görebiliriz. Burda önemli nokta sıraladığımız yani ORDER BY ile istediğimiz quantity(adet) kısmıdır. Bu durumun anlamı ilk 5 değeri listeledikten sonra en son satıra ait quantity değeri daha varsa onlarıda getirmesidir. İlk sorguda 5 sonuçtan sonuncusunda quantity değerinin 120 olduğunu görmekteyiz. WITH TIES kullanılan sorguda quantity değeri 120 olan bütün değerlerin getirilmesini sağladık.  

Sorgu: SELECT TOP 5 WITH TIES orderid, productid, quantity
                                       FROM [order details] ORDER BY quantity DESC


Ders 20'ye Geçebilirsiniz.

 

17 Mart 2012 Cumartesi

10. IN Kullanımı


  • IN sözcüğünü bir listedeki elemanlardan herhangi biriyle eşleşen satırları görüntülemek için kullanırız. 
  • NOT IN arama kriterini ise listede olmayan değerleri aramak için kullanırız. 
  • NOT koşul bildirimi diğer arama koşullarına göre biraz daha yavaş çalışır
  • Performans açısından çok sık kullanılması tavsiye edilmez. 
  • IN ile elde ettiğimiz sonuçları OR kullanarakta elde edebiliriz.
Söz dizimi:     SELECT <sütun adı> FROM <tablo adı>
                        WHERE <sütun adı> IN('değer1','değer2',.....)
(Bütün Müşteriler içinde 'VINET' ve 'FOLKO' isimli müşterilerin tekliflerini listeleyelim;)
Sorgu: SELECT * FROM Orders WHERE CustomerID IN ('VINET','FOLKO')
  

Northwind veritabanımız dışında bir örnek vermek gerekirse daha açıklayıcı olması açısından;
Sorgu: SELECT * FROM Ogrenci WHERE Bolum IN ('Bilgisayar','Elektronik','Elektrik') 
(Belirli 'Bolum' lerde okuyan öğrenci bilgilerine ulaşabiliriz.) 

Ders-11' e Geçebilirsiniz.

10 Mart 2012 Cumartesi

6. SQL'de Karşılaştırma Operatörlerin Kullanımı

  • SQL kriterlerle sorgular yapmamıza izin verir. 
  • Her programlama dilinden olduğu gibi SQL'de de istediğimiz kriterler ölçüsünde sorgular yaparak istediğimiz verilere ulaşabiliriz.
  • Karşılaştırma operatörlerinde karşılaştırdığımız veri tiplerine dikkat etmemiz gerekmektedir.
  • Sayısal veriyi karakter tipinde bir veri ile karşılaştıramayız.

Operatörler Açıklama
= Eşittir
<>,!= Eşit Değildir,Farklıdır
> Büyüktür
< Küçüktür
>= Büyük veya Eşit
<= Küçük veya Eşit
BETWEEN Arasında
LIKE Metin Arama

  • Operatörleri WHERE ifadesi ile birlikte sınanmasını istediğiniz koşulları oluştururken kullanıyoruz.
Elimizde böyle karışık ve çok verili bir tablo olduğunu düşünelim. Tabi ki bu tabloya aslında yeni başlayanlar için büyük diyebiliriz.:) 


1- Şimdi bu tabloda belli kısıtlarımız olsun. Örneğin İspanyada(Country) yaşayanların iletişim bilgilerini(ContactName),şehirlerini(City) ve adreslerine(Address ) ihtiyacımız olmuş olsun.

Sorgu: SELECT ContactName,City,Country,Address FROM Customers WHERE Country='Spain'


2- Tam Ters sorgu olarak İspanya haricinde oturanların bilgilerine ulaşmak istediğimizde; 

Sorgu: SELECT ContactName,City,Country,Address FROM Customers WHERE Country != 'Spain' 



3-  UnitPrice değeri 10 dan büyük değerler içinse;

Sorgu: SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice>10




4- UnitPrice değeri 20 den küçük değerler içinse;


Sorgu: SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice<20

 



 5- UnitPrice değeri 10 ve 10 den büyük değerler için;


Sorgu: SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice>=10



6- Products tablomuzda birim fiyat üzerinden sorgu yapacağımızda örneğin UnitPrice değeri 20 ve 20 den düşük değerler için;

Sorgu: SELECT ProductName,UnitPrice FROM Products WHERE UnitPrice<=20






 Not: BETWEEN ve LIKE ifadelerinin SQL de kullanımları hakkında ayrıntılı bilgiyi bir sonraki derslerde bulabilirsiniz.

Ders-7'ye geçebilirsiniz.