Mssql Alt Sorgu Kullanımı Group By ve Order By Kullanımı

Hiç yorum yok
Merhaba Arkadaşlar

Bu bölümde örnek t-sql sorgularına bakıyor olacağız.Yazacağımız uygulamada norhwind veri tabanından ve ekte paylaşılan veri tabanları üzerinden işlemler yapıp t-sql kodları ile veri tabanı üzerinde database oluşturma ,var olan bir veri tabanına index atama işlemlerine bakıyor olacağız.

İlk bölümüzde de  Alt sorgular ve Group by ve order by kullanımına değiniyor olacağız

Şimdi uygulamamızda kullandığımız t-sql sorgularına bakalım

--* Alt Sorgular*--

-- Örnek 1) Müşterilerin ilk gerçekleştirği sipariş tarihi

Select CompanyName,(Select Min(OrderDate) from Orders siparis Where siparis.CustomerID=musteri.CustomerID ) as İlkSiparis from Customers musteri

-- Örnek 2) 1997 yılında yapılan Siparisler

Select * from Orders where YEAR(OrderDate)=1997

--Örnek 3) Siparişler tablosunda en küçük sipariş tarihi gelsin

Select Min(Year(OrderDate)) as İlkSiparisYili from Orders

--Örnek 4) Alt sorgu halinde Siparişler tablosunda yapılan ilk siparis tarihi

Select * from Orders where Year(OrderDate)=(Select Min(Year(OrderDate)) as İlkSiparisYili from Orders)

--Örnek 5) Siparis adeti 4 den fazla olan Şirketler gelsin

Select CompanyName,CustomerID from Customers as musteri
where 4 < (Select Count(*) from Orders as siparis where musteri.CustomerID=siparis.CustomerID)

--Örnek 6) Ürünler tablosunda ne kadar ürün var

Select Sum(UnitsInStock) as toplamÜrünSayısı from Products

--Örnek 7) Hangi üründen Kaç birim Stock var

Select ProductName, Sum(UnitsInStock) from Products group by ProductName

--Örnek 8) Hangi Kategoriden kaç birim ürün var

Select CategoryName as KategoriAdi,Sum(urun.UnitsInStock) as UrunSayisi from Products as urun inner join Categories as kategori on urun.CategoryID=kategori.CategoryID
group by CategoryName

--Örnek 9) Hangi kategoriden ve hangi tedarikciden tedarik ettiği kaç birim ürün var

Select kategori.CategoryName As KategoriAdi,tedarikci.CompanyName as Tedarikci,SUM(UnitsInStock) as ToplamSayı from Products as urun inner join Categories as kategori
on urun.CategoryID=kategori.CategoryID inner join Suppliers as tedarikci on urun.SupplierID=tedarikci.SupplierID
group by kategori.CategoryName,tedarikci.CompanyName
order by ToplamSayı desc

--Örnek 10) Kac farklı ülkeye satış yapılmış

Select distinct ShipCountry  from Orders

--yada

Select ShipCountry from Orders group by ShipCountry

--Örnek 11) Hangi Ülkeye Kaç tane sipariş yapıldı

Select ShipCountry ,count(OrderID) as Satıssayısı  from Orders group by ShipCountry

--Örnek 12) 1996 yılında hangi ülkeye kaçtane sipariş gitmiş

Select ShipCountry,YEAR(OrderDate) as Yil,Count(OrderID) as GidenSiparis from Orders Where YEAR(OrderDate)=1996 group by ShipCountry,
YEAR(OrderDate)

--Örnek 13) 1996 yılında hangi ülkeye kaçtane sipariş gitmiş ve siparis sayısı 15 den büyük olan kayıtlar gelsin

Select ShipCountry,YEAR(OrderDate) as Yil,Count(OrderID) as GidenSiparis from Orders Where YEAR(OrderDate)=1996 group by ShipCountry,
YEAR(OrderDate) having 15<Count(OrderID)

--Örnek 14) Ülkelere giden kargoların ülke bazında ortalama taşıma ücretini  çokdan aza sıralayınız

Select ShipCountry, AVG(Freight) as [Ortalama Taşıma Ücreti] from Orders
group by ShipCountry
order by 2 desc --ikinci sıradaki kolana göre sıraldık yani [Ortalama Taşıma Ücreti]

--Örnek 15) Çalışanların ünvanlarının sayısı

Select TitleOfCourtesy,Count(TitleOfCourtesy) as Unvan from Employees
group by TitleOfCourtesy
order by 2 desc-- ünvanlarının

--Örnek 16) En yüksek ortalama uçuş fiyatı hangi ülkeye gitmiştir

Select top 1 ShipCountry,Avg(Freight) as [Yapılan Masraf] from Orders
group by ShipCountry
order by Avg(Freight)

--Örnek 17) Şimdiye kadar satılan ürünlerden nekadar hasılat elde ettik

select urun.ProductName,Sum(siparisdetay.UnitPrice*siparisdetay.Quantity*(1-siparisdetay.Discount)) as [Ara Toplam]  from [Order Details] as siparisdetay
inner join Products as urun on siparisdetay.ProductID=urun.ProductID
 group by urun.ProductName

Video Anlatım :




Uygulama Indir 

Linq Expressions Örnekleri

Hiç yorum yok :

Yorum Gönder

Soru Görüş önerileriniz için gmail plus üzerinden + layın müsait olduğumda mutlaka yanıt dönüyor olacağım.