Northwind Database Örnek Soru Cevapları

Northwind Database Örnek SQL Sorgu ve Cevapları

1-)Tüm cirom ne kadar?

SELECT SUM((UnitPrice*Quantity)-(UnitPrice*Quantity*Discount))

ROM[Order Details]

2-)Bugün doğumgünü olan çalışanlarım kimler?

select *

from employees

where month(BirthDate)=month(getdate()) and day(BirthDate)=day(getdate())

3-)Hangi çalışanım hangi çalışanıma bağlı? (İsim - İsim)

select e.FirstName +e.LastName,em.FirstName +em.LastName

from Employees e

inner join Employees em

on e.EmployeeID=em.EmployeeID

4-)Çalışanlarım ne kadarlık satış yapmışlar? (Gelir bazında)

select e.FirstName + ' ' + e.LastName, SUM(Quantity*UnitPrice)

from Employees e

inner join Orders o

on e.EmployeeID=o.EmployeeID

inner join [Order Details] od

on o.OrderID=od.OrderID

group by e.FirstName,e.LastName

5-)Hangi ülkelere ihracat yapıyorum?

select distinct country

from customers

6-)Ürünlere göre satışım nasıl? (Ürün-Adet-Gelir)

select p.ProductName,SUM(od.Quantity) as Adet,sum(od.Quantity*od.UnitPrice*(1-od.Discount)) as Gelir

from Products p

inner join [Order Details] od

on p.ProductID=od.ProductID

group by p.ProductName

order by 3 desc

7-)Ürün kategorilerine göre satışlarım nasıl? (Gelir bazında)

select c.CategoryName,SUM(od.Quantity*od.UnitPrice) as Gelir

from Categories c

inner join Products p

on c.CategoryID=p.CategoryID

inner join [Order Details] od

on p.ProductID =od.ProductID

group by c.CategoryName

order by 2 desc

8-)Ürün kategorilerine göre satışlarım nasıl? (Adet bazında)

select c.CategoryName,SUM(od.Quantity) as Adet

from Categories c

inner join Products p

on c.CategoryID=p.CategoryID

inner join [Order Details] od

on p.ProductID =od.ProductID

group by c.CategoryName

order by 2 desc

9-)Çalışanlarım ürün bazında ne kadarlık satış yapmışlar? (Çalışan  –  Ürün – Adet – Gelir)

select (e.FirstName + e.LastName) as Çalisanp.ProductNamesum(od.Quantity), SUM(od.Quantity*od.UnitPrice)

from Products p

inner join [Order Details] od

on p.ProductID=od.ProductID

inner join Orders o

on od.OrderID=o.OrderID

inner join Employees e

on o.EmployeeID=e.EmployeeID

group by e.FirstName + e.LastName,p.ProductName

order by 4 desc

10-)Hangi kargo şirketine toplam ne kadar ödeme yapmışım?

select s.CompanyName,SUM(o.Freight) as [Ödenen Ücret]

from Shippers s

inner join Orders o

on s.ShipperID=o.ShipVia

group by s.CompanyName

11-)Tost yapmayı seven çalışanım hangisi? (Basit bir like sorgusu J)

select FirstName + ' ' +LastName

from Employees

where Notes like'%Toast%'

12-)Hangi tedarkçiden aldığım ürünlerden ne kadar satmışım? (Satış bilgisi order details tablosundan alınacak) (Gelir ve adet bazında)

select s.CompanyName,p.ProductName, SUM(od.Quantity) as adet,sum(od.Quantity*od.UnitPrice) as gelir

from Suppliers s

inner join Products p

on s.SupplierID=p.SupplierID

inner join [Order Details] od

on p.ProductID=od.ProductID

group by  s.CompanyName , p.ProductName

order by 3 desc

13-)En değerli müşterim hangisi? (en fazla satış yaptığım müşteri) (Gelir ve adet bazında)

select top 1 c.CompanyName,SUM(od.Quantity) as adet,SUM(OD.Quantity*od.UnitPrice) as gelir

from Customers c

inner join orders o

on c.CustomerID=o.CustomerID

inner join [Order Details] od

on o.OrderID=od.OrderID

group by c.CompanyName

order by 3 desc

14-)Hangi ülkelere ne kadarlık satış yapmışım?

select c.Country,SUM(od.Quantity*od.UnitPrice)

from Customers c

inner join Orders o

on c.CustomerID=o.CustomerID

inner join [Order Details] od

on o.OrderID=od.OrderID

group by c.Country

order by 2 desc

15-)Zamanında teslim edemediğim siparişlerim ID’leri  nelerdir ve kaç gün geç göndermişim?

select OrderID,datediff(DAY,ShippedDate,RequiredDate) as dt

from Orders

where datediff(DAY,ShippedDate,RequiredDate)>0

16-)Ortalama satış miktarının üzerine çıkan satışlarım hangisi?(subquerry kullandık, querrynin içinde querry tanımladık)

select *

from [Order Details] od

where Quantity>(select AVG(Quantity) from [Order Details])

order by od.Quantity desc

17-)Satışlarımı kaç günde teslim etmişim?

select OrderID,datediff(DAY,OrderDate,ShippedDate)

from Orders

where ShippedDate not like 'NULL'

order by 2 desc

 

Comments (7) -

  • çok güzel ya, tam aradığım şeydi
    devamı var mı acaba ?
  • Devamı gelecektir, iyi çalışmalar Smile
  • 2. Soru Şu şekilde olabilirdi.
    select *

    from employees

    where BirthDate=GETDATE()
  • Hocam sabahta girdim iş yerinden dolayı zannettim sanırım sistem biraz kasıyor sizin
  • Aynen 2. soru o şekildede olabilir ancak ay yıl gün bilgisinin kullanımını göstermek için daha kullanışlı olur diye düşünmüştüm. Hız ile ilgili bir sıkıntı var gibi o da biraz hosting firmasından kaynaklanıyor.
  • 2. soruyu Huseyin'in bahsetitği şekilde çözersek, yıl bilgisi de gelmeyecek mi? Yani bugün doğum günü olanları değil, bugün doğanları aramış oluruz. Bu nedenle yalnızca gün ve ay bazına filtreleme yapmak gerekli.
  • çok teşekkur ederiz caner bey, çok sagolun, tam da aradığım şeydi northwind hakkında, vaktiniz olursa başka örnekler yaparsanız bu db ile ilgili , çok teşekkur ederiz.

Add comment