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