Sizinle paylaşacağım örneklerde “AdventureWorks” üzerinde çalışacağım. Veritabanı sunucusu olarak da SQL 2012’i kullanıyor olacağım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 |
--Order by ile Sıralama işlemleri --Getirilen sorgular 1 yada daha çok kolona göre tersten yada düzden sıralanmak istenebilir. --Sıralama yapmak için orderby anahtar kelimesi kullanılır --Ürünlerin adlarını ve fiyatlarını getirelim ve fiyat alanına göre sıralı sekilde sıralayalım select Name,listprice from Production.Product Order by ListPrice asc--artan sekilde sıralanacaktır. --Fiyat alanına göre tersten sıralayalım. select Name,listprice from Production.Product Order by ListPrice desc -- azalan sekilde sıralanacaktır. ---Asc yada desc ifadesi yazılmaz ise otomatik olarak asc sıralanacaktır. ---Sorgu : Id değeri 1 ile 4 arasında olan ürünleri ,Id alanına göre tersten sıralayalım. select Name,listprice,ProductID from Production.Product where ProductID between 1 and 4 order by ProductID desc --like anahtar kelimesi --where ile kolon bazlı sorgulama yapabiliyoruz.Ancak hücre içerisinde degerlere kriter koymak için like anahtar --kelimesi kullanılır. --sorgu: --Ad alanının içerisinde a geçen ürünler select Name from Production.Product where Name like '%a%'--içerisinde a geçen ürünler --A ile başlayan ürünler select Name from Production.Product where Name like 'a%'--a ile başlayan ürünler -- e ile biter ürünler select Name from Production.Product where Name like '%e' -- e ile biten ürünler --ikinci harfi d olan ürünler gelsin select Name from Production.Product where Name like '_d%'--ikinci harfi d olan ürünler --ikinci harfi l olan ve 5 harf olanü ürnler select Name from Production.Product where Name like '_l___' --Her bir karakter için bir alt çizgi --Soru :içerisinde b harfi olan veya a harfi olan,rengi kırmızı yada siyah yada mavi olan,fiyatı 100 ile 500 arasında olan --ürünleri fiyat alanına göre tersten siralayalım. select Name,ListPrice,Color from Production.Product where(Color='Black' or Color='Red' or Color='Blue')-- (Color in ('Red','Black','Blue')) --kısa yolu and (ListPrice between 100 and 500) and (Name like '%b%' or Name like '%a%') order by ListPrice desc --in ve not in ; --Rengi kırmızı siyah veya mavi olan ürünler select Name,Color from Production.Product where (Color in ('Red','Black','Blue')) --olmayanlar denildiğinde, select Name,Color from Production.Product where (Color not in ('Red','Black','Blue')) --like ile kritere devam: --A dan H 'a kadar olan harfle baslayan ürünler select Name from Production.Product where Name like '[A-H^]%' --A ile b ile C ile başlayanlar select Name from Production.Product where Name like '[ABC]%' --a dan h a kadar olanlar ile başlayıp,ikinci harfi a,d veya n olanlar select Name from Production.Product where Name like '[A-H^][adn]%' --Aggregate Funchtion --AVG,Max,Min,Sum,Count --AVG : ortalama alır . --P.P tablosundaki tüm ürünlerin fiyat ortalaması nedir select AVG(ListPrice) 'Ortalama Fiyatı' from Production.Product --P.P tablaosundaki ,tüm ürünlerin toplam fiyatı select SUM(ListPrice) 'Toplam' from Production.Product --P.P tablosundaki en ucuz ürünün fiyatı select Min(ListPrice) 'En ucuz' from Production.Product --P.P tablosundaki en pahalı ürünün fiyatı select Max(ListPrice) 'En pahalı' from Production.Product --P.P tablosundaki tüm ürünler kaç adettir. select COUNT(*) from Production.Product --Ortalama sağlama select AVG(ListPrice) 'Ortalama',SUM(ListPrice)/COUNT(*) 'Custom Ortama'from Production.Product --Soru: rengi siyah olan ürünlerin toplam fiyatı nedir. select SUM(ListPrice) from Production.Product where Color='Black' --Depodaki tüm ürünleri satsam ne kadar para kazanırım.. select SUM(Listprice*safetyStocklevel) from Production.Product --renk siyah yada mavi ürünlerde %2 lik bir indirim yaparsam ,indirimsiz haline göre zararım be olur. select SUM((Listprice*safetyStocklevel)*0.98) 'indirimli hali' ,SUM(Listprice*safetyStocklevel) 'indirimsiz hali' ,SUM(Listprice*safetyStocklevel)-SUM((Listprice*safetyStocklevel)*0.98) 'Fark' from Production.Product where (Color='Black' or Color='Blue') |
1 comments On Ms Sql 'de Order by,asc,desc,like, in,not in ve Aggregate Funchtion Kullanımı
Çok guzel anlatmissiniz teşekkürler.