AVG etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
AVG etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

17 Haziran 2012 Pazar

39. SUBQUERIES-HAVING Dönüşümü

  • İlişkili alt sorgularla elde ettiğimiz sonuçları aynı zamanda HAVING işlemi ile de elde edebiliriz. Bu bize kullanım çeşitliliği sağlar.
Örnek: İnceleyeceğimiz iki örnekte aynı kategorideki ürünlerden birim fiyatı ortalama birim fiyatından yüksek olan ürünleri kategoriye göre listelenmesini istiyoruz. İlk örneğimizde herhangi bir dönüşüm yapmadan gerekli koşullarımızı sağlıyoruz.

Sorgu:
SELECT ProductName,CategoryID,UnitPrice FROM Products AS p1
    WHERE p1.UnitPrice>(SELECT AVG(UnitPrice) FROM Products AS p2 WHERE p1.CategoryId=p2.CAtegoryId)
    ORDER BY CategoryId




Örnek: Bu örneğimizde INNER JOIN ve HAVING kullanarak aynı sonucu listeliyoruz.

Sorgu:
SELECT p1.ProductName,p1.CategoryID,p1.UnitPrice FROM Products AS p1
    INNER JOIN Products AS p2 WITH (NOLOCK) ON p1.CategoryID=p2.CategoryID
    GROUP BY p1.ProductName,p1.CategoryID,p1.UnitPrice
    HAVING p1.UnitPrice>AVG(p2.UnitPrice)
    ORDER BY p1.CategoryId


Ders 40 'a geçebilirsiniz.

26 Mayıs 2012 Cumartesi

36. SUBQUERIES-Sonuç Listesinin Deyim Olarak Kullanılması

  • Sorgularımızda başka bir sorguyu deyim yani yeni bir parametre olarak kullanabiliriz. 
  • Bu amaç için kullanacağımız sorgu ya tek satır sonuç döndürmeli yada tek bir sütun değer listesi döndürmeli.
  • Bir değerler listesi geri döndüren sorgular IN anahtar kelimesi içeren WHERE yantümcesi yerine kullanılabilir. 
Örnek: Sorgumuzda ortalamayı bulup satılan ürünlerimiz ayrıntılı birim fiyatlarını ve bu birim fiyatlarının genel ürün potansiyelinde ortalama ürün fiyatına oranla durumunu göstermekte. Burda alt sorguları kullanarak daha anlaşılabilir sorgu yazabiliriz.

Sorgu: 
SELECT ProductName,UnitPrice,UnitsinStock,
(SELECT AVG(UnitPrice) FROM Products) AS Average,
UnitPrice-(SELECT AVG(UnitPrice) FROM Products) AS Difference
FROM Products 



Ders 37' geçebilirsiniz.

15 Nisan 2012 Pazar

17. SQL Toplam Fonksiyonları

1-) AVG Fonksiyonu
  • Aritmetiksel ortalama (avarage) hesaplamak için kullanılır.  
  • Bu hesaplama sırasında boş (NULL) değerler işleme katılmaz.  
  • AVG fonksiyonu ile koşula bağlı olarak hesaplamalarda yaptırılabilir. 
Söz dizimi: AVG (<Sutun Adı>)

Örnek: Örneğimizde 1. kategorideki ürünlerimizin birim fiyatlarını biliyoruz. İstediğimiz bu kategorideki ürünlerimizin ortalamala birim fiyatları bulmak.
Sorgu:  SELECT AVG(UnitPrice) AS 'Ortalama Birim Fiyatı' FROM Products WHERE CategoryID=1


          2-) MAX Fonksiyonu
  • Tablo içinde, belirtilen sütun (alan) içindeki en büyük değeri bulur.  
  • MAX fonksiyonu, bir sütundaki en yüksek değeri verir. Boş (NULL) değerler işleme katılmaz. 
  • MAX fonksiyonu alfabetik sıralamadaki ilk metinsel ifadeyi de bulmamızı sağlar. 
Söz dizimi: MAX (<Sutun Adı>)

Örnek: Bu örneğimizde 1. kategorideki birim fiyatı en yüksek olan ürünümüzü buluyoruz.
Sorgu: SELECT MAX(UnitPrice) AS 'En Düşük Fiyat' FROM Products WHERE CategoryID=1 


3-) MIN Fonksiyonu
  • Tablo içinde belirtilen sütun (alan) içindeki en küçük değeri bulur. 
  • MIN fonksiyonu bir sütundaki kayıtlardanki en küçük değeri verir. Boş (NULL) değerler işleme katılmaz.  
  • MIN fonksiyonu alfabetik sıralamadaki son metinsel ifadeyi de bulmamızı sağlar.
Söz dizimi: MIN (<Sutun Adı>)

Örnek: Bu örneğimizde 1. kategorideki birim fiyatı en düşük olan ürünümüzü buluyoruz.
Sorgu: SELECT MIN(UnitPrice) AS 'En Yüksek Fiyat' FROM Products WHERE CategoryID=1


4-) SUM Fonksiyonu
  • Fonksiyonla belirtilen sütun ile ilişkili olarak toplama işlemini yapar. 
  • SUM fonksiyonu belirtilen sütundaki sayısal değerlerin bir toplamını geri döndürür. 
Söz dizimi: SUM (<Sutun Adı>) 

Örnek: Bu örneğimizde de 1.kategorideki ürünlerimizin toplam birim fiyatlarını buluyoruz.
Sorgu: SELECT SUM(UnitPrice) AS 'Toplam Fiyat' FROM Products WHERE CategoryID=1


       5-) COUNT Fonksiyonu

Ders-18'e geçebilirsiniz.