DML devam

Bu konu Northwind database ile ilgili olduğundan dolayı database’i indirip restore etmeyi unutmayınız.
https://www.fethimurat.com/blog/wp-content/uploads/2010/08/NorthWind.zip

-- Employees tablosundan calışanların adlarını(FirstName) soyadlarını(LastName) ve yaşlarını listeleyin

select FirstName,LastName,
DATEDIFF(YYYY,BirthDate,GETDATE())
from Employees

select FirstName,LastName,
YEAR(GETDATE())-YEAR(BirthDate) as Yas
from Employees
order by Yas asc-- 0 dan 100000...
                -- a dan z ye

select FirstName,LastName,
YEAR(GETDATE())-YEAR(BirthDate) as Yas
from Employees
order by Yas desc,FirstName asc

-- en eski 3 personeli getirin
select top 3 FirstName,LastName,HireDate
from Employees
order by HireDate -- default olarak asc dir

-- en yeni 4 personeli getirin
select top 4 FirstName,LastName,HireDate
from Employees
order by HireDate desc

-- en yaşlı çalışanın adını soyadını ve yaşını getirin
select top 1 FirstName,LastName,
YEAR(GETDATE())-YEAR(BirthDate) as Yas
from Employees
order by Yas desc

-- Margaret ile aynı tarihte doğmuş bir personel ekleyelim
insert into Employees(FirstName,LastName,BirthDate)
values('Yunus','Ardıc',
  (
    select BirthDate from Employees where FirstName ='Margaret'
  )
)

select * from Employees order by BirthDate asc

-- en yaşlı çalışanların adlarını, soyadlarını ve yaslarını getirin
select FirstName,LastName,DATEDIFF(YYYY,BirthDate,GETDATE()) as Yas
from Employees
where DATEDIFF(YYYY,BirthDate,GETDATE())=
(
   select Top 1 DATEDIFF(YYYY,BirthDate,GETDATE()) as   Yas from Employees order by Yas desc
)

-- hangi ülkelerle iş yapıyoruz
select distinct Country
from Customers 

-- Ödev 1) Tost seven çalışanların adı soyadı ve not bilgilerini getirin
-- Employees tablosu
-- Yunus a özel: O verinin uzunluğunu ve kacıncı indekste yazıldığını bulacak "toast"
-- Ödev 2) Beverages adlı kategorideki ürünlerin adlarını getirin
-- Categories tablosundaki CategoryName kolonu. Products tablosu ProductName kolonu
-- Ödev 3) Mayumi's isimli tedarikci(Supplier) ın getirdiği ürünlerin(Product) adlarını(ProductName) getirin 

-- Aggreagte Function
-- max,min,avg,sum,count
--> max => en büyük değer
--> min => en küçük değer
--> avg => ortalama
--> sum(hücre değerlerinin toplamı)
--> count null olmayan satır sayısı
/*
    ID   Ad Yas  Hede
    ------------------
    1    a   12  NULL
    2    b   13  Veri

    => max(Yas) 13
    => min(Yas) 12
    => avg(yas)  12.5
    => avg(ID)    1.5
    => count(ID)  2
    => count(Hede) 1
    => sum(Yas)   25
*/

-- birim fiyatı (UnitPrice) en pahalı olan ürünün(Products) birim fiyatını getirin
select MAX(UnitPrice)
from Products

-- bu zamana kadar toplam kaç sipariş(Orders tablosu) almışım?
select COUNT(OrderID) as SS from Orders

-- toplam kaç çalışanım var?
select COUNT(EmployeeID) from
Employees

-- Toplam kaç çalışanım var ve bu çalışanlarımın adını gösterin?
select FirstName, COUNT(EmployeeID)
from Employees

-- Listedeki ürünlerin(products tablosu) ortalama birim fiyatını (UnitPrice) gösterin
select AVG(UnitPrice) from Products

select Top 10 * from [Order Details]

-- sipariş başına ortalama ne kadar para kazanmışım?
select SUM(UnitPrice*Quantity)/ COUNT(distinct OrderID)
from [Order Details]

-- Ödev 4) Northwind de CategoryuName değeri NULL olan kayıtların CategoryName ini MULL olarak gösterecek sorguyu yazınız

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir