![]()
Şimdide clauses dediğimiz SQL de söz diziminde yani sorgu yazarken kullandığımız Where, Top, Distinct, Order By, Group By, Having gibi sıklıkla kullanılan cümleciklere bakalım.
Where : Çekilen datayı belirli bir koşula göre filtrelemek için kullanılır.
|
1 2 3 |
select * from Shippers WHERE ShipperID >= 5 |
Top : Sorgunuzda kaç tane veri geleceğini belirler.
|
1 2 3 |
SELECT TOP 5 * FROM CUSTOMERS WHERE ContactName LIKE ‘a%’ |

Distinct : Tekrar eden verileri Tekrarsız bir şekilde filtreler.
|
1 2 3 |
SELECT DISTINCT UnitPrice FROM PRODUCTS WHERE UnitPrice >= 17.00 |

Order By : Verileri artan ya da azalan olarak sıralamak için kullanılır. Kayıtları varsayılan olarak ASD olarak sıralar;
ASD : Sayısal değerleri : azdan => çoğa yada ucuzdan => pahalıya , Metindel ifadeleri A => Z ye , Tarihi ise eskiden => yeniye sıralar
DESC : Sayısal değerleri : çoktan => aza yada pahalıdan => ucuza , Metindel ifadeleri Z => A ya , Tarihi ise yeniden => eskiye sıralar
Örnekleri
|
1 2 3 4 5 6 7 |
SELECT TOP 5 * FROM PRODUCTS ORDER BY ProductName SELECT TOP 5 * FROM PRODUCTS ORDER BY UnitPrice SELECT TOP 5 * FROM EMPLOYEES ORDER BY BirthDate |

|
1 2 3 4 5 6 7 |
SELECT TOP 5 * FROM PRODUCTS ORDER BY ProductName DESC SELECT TOP 5 * FROM PRODUCTS ORDER BY UnitPrice DESC SELECT TOP 5 * FROM EMPLOYEES ORDER BY BirthDate DESC |

|
1 2 3 |
SELECT TOP 7 * FROM PRODUCTS ORDER BY ProductName ASC, UnitPrice DESC; |

Group By : İstenen değere göre gruplama yapar. Genellikle SUM, AVG, MAX ve MIN gibi hesaplamalarla kullanılır.
|
1 2 3 |
SELECT ProductName, MAX(UnitPrice) FROM PRODUCTS GROUP BY ProductName; |
Burada Ürünadına göre en yüksek ücretler A => Z ye gruplandı

|
1 2 3 4 |
SELECT ProductName, AVG(UnitsInStock) FROM PRODUCTS GROUP BY ProductName ORDER BY ProductName DESC |
Ürünler Stok ortalamasına gruplanıp göre Ürün adına göre Z => A ya sıralandı

Having : Gruplama yapıldıktan sonra istenen koşula göre verileri filtreleme yapar.
|
1 2 3 4 5 6 7 |
SELECT UnitPrice, UnitsInStock, MIN(ReorderLevel) AS MIN_SUM FROM PRODUCTS GROUP BY UnitPrice, UnitsInStock HAVING UnitsInStock > 25; |

|
1 2 3 4 5 6 7 8 9 |
SELECT ProductName, UnitsInStock, SUM(ReorderLevel) AS Reorder_Level FROM PRODUCTS GROUP BY ProductName, UnitsInStock HAVING UnitsInStock >=25 ORDER BY UnitsInStock DESC; |

sağlıcakla kalın……








Bir yanıt yazın