0% found this document useful (0 votes)
8 views90 pages

Data Analytics Bootcamp

Uploaded by

m t
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views90 pages

Data Analytics Bootcamp

Uploaded by

m t
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Data Analytics Bootcamp

Data Analytics Bootcamp


Data-Driven Decision with SQL
MIUUL TM

Stages of Data Analytics Maturity and Excel [Link]


Copyright © Miuul, Inc. All Rights Reserved

How can we
make it happen? = Action
What
will happen? Prescriptive Analytics
Why
did it happen?
Predictive Analytics

What
happened? Diagnostoc Analytics
Value/Maturity

n i n g
ea r
Descriptive Analytics L
n cy
e q ue
Fr
ation
u tom
A

Complexity / Difficulty
MIUUL TM

What We Learn … [Link]


Copyright © Miuul, Inc. All Rights Reserved

Excel Jupyter Azure Desktop / Web


MIUUL TM

Scope of SQL [Link]


Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

Data Processing Chain [Link]


Copyright © Miuul, Inc. All Rights Reserved

Data can be modeled Relevant data can be extracted The data from the warehouse The insights need to be
and stored in a from the operational data stores can be combined with other visualized and
database according to certain reporting sources of data, and mined communicated to the right
and analyzing purposes, and using data mining techniques to audience in real time for
stored in a data warehouse generate new insights competitive advantage
MIUUL TM

Our Profiles [Link]


Copyright © Miuul, Inc. All Rights Reserved

You didn't need faith to fly, you needed to understand flying

The Gull Sees Farthest Who Flies Highest - Jonathan Livingston


MIUUL TM

Let’s Learn [Link]


Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

Think Simple [Link]


Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

Understanding the Database and Query [Link]


Copyright © Miuul, Inc. All Rights Reserved

SELECT * FROM Database


MIUUL TM

Understanding the Database and Query [Link]


Copyright © Miuul, Inc. All Rights Reserved

SEÇ herşeyi DAN Veritabanın


MIUUL TM

Understanding the Database and Query [Link]


Copyright © Miuul, Inc. All Rights Reserved

SEÇ
SELECT
herşeyi
* FROM
DAN Veritabanın
Database

SEÇ herşeyi DAN Veritabanın


MIUUL TM

What We Learn … [Link]


Copyright © Miuul, Inc. All Rights Reserved

Excel Jupyter Azure Desktop / Web


MIUUL TM

Let’s Start [Link]


Copyright © Miuul, Inc. All Rights Reserved

Learning In The Flow Of Work

Practice - For Understanding


Install – Azure Data Studio
MIUUL TM

How to Install Azure Data Studio for Windows/MAC [Link]


Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

How to Install Azure Data Studio for Windows/MAC [Link]


Copyright © Miuul, Inc. All Rights Reserved

…..
MIUUL TM

How to Install Azure Data Studio for Windows/MAC [Link]


Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

The Northwind Data Model [Link]


Copyright © Miuul, Inc. All Rights Reserved
Let’s Start

Round 0
MIUUL TM

SELECT [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Tüm tablodaki verinin çekiniz

SELECT
*
FROM
Customers

Soru: Tüm tablodaki CategoryID, CategoryName kolonlarındaki verileri çekiniz

SELECT
CategoryID, CategoryName
FROM
Categories
MIUUL TM

SELECT DISTINCT [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Ülkelerin tekil olarak elde ediniz

SELECT DISTINCT
Country
FROM
Customers
MIUUL TM

WHERE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Country içerisinden ’Mexico’ olanları çekiniz

SELECT
*
FROM
Customers
WHERE Country='Mexico'

Soru: Country içerisinden 'Germany' ve City= 'München’i çekiniz

SELECT
*
FROM
Customers
WHERE Country= 'Germany' AND City= 'München'
MIUUL TM

WHERE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: 1996-07-04 tarihinden sonraki siparişleri listeleyin

SELECT
*
FROM
Orders
WHERE OrderDate > '1996-07-04'

Soru: 1997 tarihindeki siparişleri listeleyin

SELECT
*
FROM Orders
WHERE YEAR(OrderDate) = 1997
MIUUL TM

ORDER BY [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Customers içerisinden Country’ e göre sıralayın

SELECT
*
FROM Customers
ORDER BY Country

Soru: Customers içerisinden Country = 'USA' e göre şehirleri sıralayın

SELECT
*
FROM Customers
WHERE Country = 'USA'
ORDER BY City
MIUUL TM

SELECT TOP [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Customers içerisinden ilk 3’ü çekin

SELECT
TOP 3
*
FROM
Customers
MIUUL TM

SELECT COUNT [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Bu tabloda kaç tane veri olduğunu bulunuz

SELECT
COUNT(*) as Adet
FROM
Customers
MIUUL TM

SELECT COUNT, SUM, AVERAGE, MAX [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: [Order Details] tablosunda Quantity’nin Adet, Ortalama, Toplam ve Max değerini çekiniz

SELECT
COUNT(Quantity) as Adet,
AVG(Quantity) as Ortalama,
SUM(Quantity) as Toplam,
MAX(Quantity) as Maksimum
FROM
[Order Details]
MIUUL TM

LIKE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Customer tablosunda şehir isimlerinin içerisinde ‘L’ harfi olanları çekiniz

SELECT
*
FROM Customers
WHERE city LIKE '%L%'
MIUUL TM

NOT BETWEEN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Products tablosundan fiyatları 10 ile 20 arasında olmayanları çekiniz

SELECT
*
FROM
Products
WHERE UnitPrice NOT BETWEEN 10 AND 20
MIUUL TM

BETWEEN [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Products tablosundan fiyatları 10 ile 20 arasında olanları çekiniz

SELECT
*
FROM
Products
WHERE UnitPrice BETWEEN 10 AND 20
MIUUL TM

ALIASES [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Tablodaki CustomerID ve ContactName kolonların allians ile listeleyin

SELECT
CustomerID AS ID,
ContactName AS Contact
FROM
Customers
MIUUL TM

GROUP BY [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Tablodaki ülkelerin adetlerini çekiniz

SELECT
Country, COUNT(Country)
FROM
Customers
GROUP BY Country
MIUUL TM

GROUP BY [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Tablodaki ülkelerin adetlerini çekiniz

SELECT
Country, COUNT(Country)
FROM
Customers
GROUP BY Country
MIUUL TM

GROUP BY [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürünlerin Ortalama Satış Fiyatını Bulunuz

SELECT ProductID, AVG(UnitPrice)


FROM OrderDetails
GROUP BY ProductID;
MIUUL TM

GROUP BY [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Bir Ürünün En Düşük ve En Yüksek Satış Fiyatlarını Bulunuz

SELECT
ProductID, MIN(UnitPrice) AS MinPrice, MAX(UnitPrice) AS MaxPrice
FROM [Order Details]
GROUP BY ProductID
Let’s Start

Round 1
MIUUL TM

Allinas [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Tablodaki CategoryName ve Description kolonların allians ile çekiniz (Top 5 olarak)

SELECT
TOP 5
[Link] KategoriAdları,
[Link] Açıklamalar
FROM
Categories c
MIUUL TM

WHERE NOT LIKE [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: İçinde 'A' bulunmayan şehirleri seçiniz

SELECT
*
FROM
Customers
WHERE
City NOT LIKE '%A%'
MIUUL TM

IS NOT NULL [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: PostalCode kolonu boş olan ve Region kolonu dolu olan gözlemlerin filtreleyiniz

SELECT
*
FROM
Customers
WHERE
PostalCode IS NULL
AND Region IS NOT NULL
MIUUL TM

IN [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Berlin ve London'un filtreleyin

SELECT
*
FROM
Customers
WHERE
City IN ('Berlin' , 'London')
MIUUL TM

NOT IN [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Berlin ve London'u içermeyen gözlemleri çekiniz

SELECT
*
FROM
Customers
WHERE
City NOT IN ('Berlin' , 'London')
MIUUL TM

OR [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Şehir bilgisi London veya Tacoma olan tüm personelin id , ad ve soyad bilgisini çekiniz

SELECT
EmployeeID PersonelId,
FirstName PersonelAdi,
LastName PersonelSoyadi
FROM
Employees
WHERE
City = 'London' or City = 'Tacoma'
Let’s Start

Round 2
MIUUL TM

GROUP BY [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: CategoryId adetlerini hesaplanyınız

SELECT
CategoryID ,
COUNT(CategoryID) adet
FROM
Products
GROUP BY
CategoryID
MIUUL TM

ORDER BY [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: CategoryId bazında min , max ve ortalama birim fiyatlarını hesaplayınız


(Max fiyatlara göre yüksek fiyattan düşük fiyata sıralanması)

SELECT
CategoryID ,
MIN(UnitPrice) min_fiyat,
MAX(UnitPrice) max_fiyat,
AVG(UnitPrice) ortalama_fiyat
FROM
Products
GROUP BY
CategoryID
ORDER BY
MAX(UnitPrice) DESC
MIUUL TM

The Northwind Data Model [Link]


Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

LEFT JOIN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Customer tablosunundan ContactName, Orders tablosundan OrderID’ı çekiniz

SELECT
[Link], [Link]
FROM
Customers LEFT JOIN Orders ON [Link] = [Link]
MIUUL TM

INNER JOIN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Orders tablosunundan OrderID ile Customers tablosundan ContactName’i


birleşmiş bir tablodan çekiniz

SELECT
Orders. OrderID, Customers. ContactName
FROM
Orders
INNER JOIN Customers ON [Link] = Customers. CustomerID
MIUUL TM

Join … [Link]
Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

JOIN [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürün ve Şirket adlarını listeleyin

SELECT
[Link] Urun_Adi,
[Link] Şirket_Adi
FROM
Products P
LEFT JOIN Suppliers S ON [Link] = [Link]
MIUUL TM

JOIN [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürün ve kategori adlarını listeleyin

SELECT
[Link] Urun_Adi,
[Link] KategoriAdi
FROM
Products P
INNER JOIN Categories C ON [Link] = [Link]
MIUUL TM

JOIN. & SUB QUERY [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürün ve Şirket adlarını listeleyiniz ve adetlerini bulun

SELECT J.Şirket_Adi, COUNT(J.Şirket_Adi) FROM

(SELECT
[Link] Urun_Adi,
[Link] Şirket_Adi
FROM
Products P
LEFT JOIN Suppliers S ON [Link] = [Link]) J

GROUP BY Şirket_Adi
MIUUL TM

HAVING [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Kategori bazında toplam fiyatın hesaplanması ve toplam birim fiyatı 200'den düşük
kategorilerin filtrelenyiniz

SELECT SELECT * FROM


CategoryID,
(SELECT
SUM(UnitPrice) toplam_birim_fiyat CategoryID,
FROM SUM(UnitPrice) toplam_birim_fiyat
FROM
Products Products
GROUP BY GROUP BY
CategoryID) T
CategoryID
HAVING WHERE toplam_birim_fiyat <200

SUM(UnitPrice) <= 200


MIUUL TM

TOP [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: En ucuz 5 ürünün ortalama fiyatı nedir ?

SELECT
AVG([Link]) Ortalama_Fiyat
FROM
(SELECT
TOP 5
UnitPrice
FROM
Products
ORDER BY UnitPrice ASC ) AS T
MIUUL TM

SUB QUERIES [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: En pahalı ürününün adı nedir?

SELECT
ProductName
FROM
Products
WHERE
UnitPrice = (SELECT MAX(UnitPrice) FROM Products)

SELECT ProductName, UnitPrice FROM Products


WHERE UnitPrice IN (SELECT TOP 5 UnitPrice FROM Products)
MIUUL TM

UNION [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: En pahalı ve en ucuz ürünü listeleyiniz.

SELECT
*
FROM
(SELECT TOP 1 * FROM Products ORDER BY UnitPrice DESC) a

UNION

SELECT
*
FROM
(SELECT TOP 1 * FROM Products ORDER BY UnitPrice ASC) b
MIUUL TM

DATEDIFF [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Zamanında teslim edemediğim siparişlerim ID’leri nelerdir ve kaç gün geç gönderildi?

SELECT
OrderID,
DATEDIFF(DAY,ShippedDate,RequiredDate) AS GecikmeSüresi
FROM
Orders
WHERE
DATEDIFF(DAY,ShippedDate,RequiredDate) > 0
MIUUL TM

NOT LIKE [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Satışlar kaç günde teslim edildi?

SELECT
OrderID,
DATEDIFF(DAY,OrderDate,ShippedDate)
FROM Orders
WHERE ShippedDate NOT LIKE 'NULL'
ORDER BY 2 DESC
MIUUL TM

ON [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Hangi kargo şirketine toplam 25000 birimden daha az ödeme yapılmıştır ?

SELECT
[Link],
SUM([Link]) as [Ödenen Ücret]
FROM
Shippers s
INNER JOIN Orders o ON [Link]=[Link]
GROUP BY
[Link]
HAVING
SUM([Link]) <= 25000
MIUUL TM

JOIN & JOIN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Çalışanlar ne kadarlık satış yapmıştır?

SELECT
[Link] + ' ' + [Link] CalisanAdi,
SUM([Link] * [Link]) ToplamSatisTutari
FROM
Employees e
INNER JOIN Orders O ON [Link] = [Link]
INNER JOIN [Order Details] OD ON [Link] = [Link]
GROUP BY
[Link] + ' ' +[Link]
MIUUL TM

JOIN & JOIN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: 50 'den fazla satışı olan çalışanları nasıl bulabilirim ?

SELECT
[Link] + ' ' +[Link] CalisanAdi,
COUNT([Link]) AS SatisMiktari
FROM
Orders O
INNER JOIN Employees e ON [Link] = [Link]
GROUP BY
[Link] + ' ' +[Link]
HAVING
COUNT([Link]) > 50
MIUUL TM

+ [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Çalışanlarım ürün bazında ne kadarlık satış yapmışlar?

SELECT
([Link] + [Link]) as Çalisan,
[Link],
SUM([Link]),
SUM([Link]*[Link])
FROM
Products p
INNER JOIN [Order Details] od ON [Link]=[Link]
INNER JOIN Orders o ON [Link]=[Link]
INNER JOIN Employees e ON [Link]=[Link]
GROUP BY
[Link] + [Link],[Link]
ORDER BY 4 DESC
MIUUL TM

HAVING [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Toplam birim fiyatı 200'den düşük kategorilerin getiriniz

SELECT
[Link]
FROM
Categories C
INNER JOIN
(SELECT
CategoryID,
SUM(UnitPrice) toplam_birim_fiyat
FROM
Products
GROUP BY
CategoryID
HAVING
SUM(UnitPrice) <= 200) A ON [Link] = [Link]
MIUUL TM

JOIN & JOIN [Link]


Copyright © Miuul, Inc. All Rights Reserved

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

SELECT
TOP 1
[Link],
SUM([Link]) as adet,
SUM([Link]*[Link]) as gelir
FROM
Customers c
INNER JOIN orders o ON [Link]=[Link]
INNER JOIN [Order Details] od ON [Link]=[Link]
GROUP BY
[Link]
ORDER BY 3 DESC
Let’s Start

Round 3
MIUUL TM

JOIN & JOIN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Discount oranını da hesaba katarak en çok para getiren 5 ürünü bulunuz.

SELECT * FROM (
SELECT *, ROW_NUMBER() OVER(ORDER BY TOTAL_AMOUNT DESC) AS RN
FROM (
SELECT ProductID, ROUND(sum(Amount),0) as Total_Amount
FROM (
SELECT ProductID, UnitPrice * Quantity * (1- Discount) as Amount
FROM [Order Details] ) T1
GROUP BY ProductID
) T2
) T3
WHERE RN <= 5
MIUUL TM

JOIN & JOIN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: En yüksek ikinci unit_price değerini row_number kullanmadan bulunuz.

SELECT MAX(UnitPrice) AS Unit_Price_Value


FROM [Order Details]
WHERE UnitPrice <> (SELECT MAX(UnitPrice)
FROM [Order Details] )
MIUUL TM

DATEDIFF [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Siparişin verildiği gün ile o ayın son günü arasındaki farkı bulunuz.

SELECT OrderDate, EOMONTH(OrderDate) End_Of_Day,


DATEDIFF(DAY,OrderDate,EOMONTH(OrderDate)) Day_Diff
FROM Orders;
MIUUL TM

HAVING [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: 10’dan fazla sipariş veren müşterilerin ID ve sipariş sayılarını bulunuz.

SELECT CustomerID, COUNT(OrderID)


FROM Orders
GROUP BY CustomerID
HAVING COUNT(DISTINCT OrderID) > 10
MIUUL TM

EXCEPT [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Bir seferinde 100’den fazla quantitysi alınmış ürünlerden olup stocktaki unit sayısı 100
altında olan ürünlerin ID’lerini listeleyiniz.

SELECT DISTINCT ProductID


FROM [Order Details]
WHERE quantity > 100
EXCEPT -- MINUS
SELECT DISTINCT ProductID
FROM Products
WHERE UnitsInStock < 100;
MIUUL TM

LAG [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: 1997 yılındaki her aya ait toplam miktarı hesaplayıp mevcut ay, o aya ait toplam harcama, bir önceki ve
bir sonra ki aya ait toplam harcama bilgilerini paylaşınız.

SELECT *, LAG(total_amount) OVER (ORDER BY order_month DESC) AS NextQuota , LEAD(total_amount)


OVER (ORDER BY order_month DESC) AS BeforeQuota FROM
(
SELECT order_month, ROUND(SUM(Amount),0) total_amount FROM
(
SELECT
UnitPrice * Quantity * (1- Discount) as Amount,
MONTH([Link]) as order_month
FROM [Order Details] od
INNER JOIN Orders o
ON [Link] = [Link]
WHERE YEAR([Link]) = 1997
)T
GROUP BY order_month
) T2
ORDER BY order_month
MIUUL TM

COALESCE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Orders tablosunda Ship Region’ı dolu olanların bilgisini tutan ama boş olanları Ship_City’nin ilk 3 harfini
büyük harf ile gösterecek şekilde alan query’yi yazınız. COALESCE() fonksiyonu, bir ifade listesindeki ilk boş
olmayan değeri döndürmek için kullanılır.

SELECT ShipRegion, ShipCity,left(ShipCity,3) A, COALESCE (ShipRegion, left(ShipCity,3)) B


FROM Orders;

SELECT *, UPPER(COALESCE (ShipRegion, left(ShipCity,3)))


FROM [Link];
Let’s Start

Round 4
MIUUL TM

The Northwind Data Model [Link]


Copyright © Miuul, Inc. All Rights Reserved
MIUUL TM

CASE.. [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: "Orders" tablosunu kullanarak, siparişlerin hangi aylarda yapıldığını ve her ay kaç sipariş olduğunu
bulun.
MIUUL TM

DATEPART() [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: "Orders" tablosunu kullanarak, siparişlerin hangi aylarda yapıldığını ve her ay kaç sipariş olduğunu
bulan bir SQL sorgusu nasıl oluşturulur?

SELECT
DATEPART(month, [Link]) AS OrderMonth,
COUNT(*) AS OrderCount
FROM
Orders o
GROUP BY
DATEPART(month, [Link])
ORDER BY
OrderMonth;
MIUUL TM

CASE.. [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürünleri fiyatlarına göre sıralayarak her ürünün fiyat sıralama numarasını bulun..
MIUUL TM

RANK() [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürünleri fiyatlarına göre sıralayarak her ürünün fiyat sıralama numarasını bulun..

SELECT
ProductName,
UnitPrice,
RANK() OVER (ORDER BY UnitPrice) AS PriceRank
FROM
Products
ORDER BY
UnitPrice;

RANK() ile ROW_NUMBER() FARKI NEDIR?


MIUUL TM

CASE.. [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Siparişleri sipariş tutarına göre eşit parçalara bölün (dörtte birlik dilimlere ayırın)..
MIUUL TM

NTILE() [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Siparişleri sipariş tutarına göre eşit parçalara bölün (dörtte birlik dilimlere ayırın)..

SELECT
OrderID,
CustomerID,
OrderDate,
Freight,
NTILE(4) OVER (ORDER BY Freight) AS FreightQuartile
FROM
Orders
ORDER BY
Freight;
MIUUL TM

CASE.. [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Siparişleri sipariş tutarına göre eşit parçalara bölün (dörtte birlik dilimlere ayırın) ve 4 segment
oluşturun. (Dusuk, Orta, Yuksek, Cok Yuksek)
MIUUL TM

CASE … WHEN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Siparişleri sipariş tutarına göre eşit parçalara bölün (dörtte birlik dilimlere ayırın) ve 4 segment
oluşturun. (Dusuk, Orta, Yuksek, Cok Yuksek)

SELECT
OrderID,
CustomerID,
OrderDate,
Freight,
CASE
WHEN NTILE(4) OVER (ORDER BY Freight) = 1 THEN 'DUSUK'
WHEN NTILE(4) OVER (ORDER BY Freight) = 2 THEN 'ORTA'
WHEN NTILE(4) OVER (ORDER BY Freight) = 3 THEN 'YUKSEK'
WHEN NTILE(4) OVER (ORDER BY Freight) = 4 THEN 'COK YUKSEK'
END AS FreightQuartile
FROM
Orders
ORDER BY
Freight;
MIUUL TM

CASE.. [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürünleri birim fiyatlarına göre ucuz (<10), orta fiyatlı ve pahalı (>50) olarak sınıflandırın.
MIUUL TM

CASE … WHEN [Link]


Copyright © Miuul, Inc. All Rights Reserved

Soru: Ürünleri birim fiyatlarına göre ucuz (<10), orta fiyatlı ve pahalı (>50) olarak sınıflandırın.

SELECT
ProductName,
UnitPrice,
CASE
WHEN UnitPrice < 10 THEN 'Ucuz'
WHEN UnitPrice BETWEEN 10 AND 50 THEN 'Orta Fiyatlı'
WHEN UnitPrice > 50 THEN 'Pahalı'
END AS PriceCategory
FROM
Products;
MIUUL TM

CASE.. [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Müşterilerin iletişim adreslerinin başına Adres: ekleyiniz.


MIUUL TM

STUFF [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Müşterilerin iletişim adreslerinin başına Adres: ekleyiniz.

SELECT
ContactName,
Address,
STUFF(Address, 1, 0, 'Adres: ') AS ModifiedAddress
FROM
Customers;
MIUUL TM

CTE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Common Table Expression

SQL sorgularında kullanılan ve geçici olarak veri oluşturan bir yapıdır

CTE, WITH anahtar kelimesi ile başlar ve bir isim (CTE adı) ile tanımlanır
MIUUL TM

CTE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Common Table Expression örneği yazınız.

WITH ProductCTE AS (
SELECT
ProductName,
UnitsInStock
FROM
Products
)

-- CTE'yi sorgulama
SELECT
ProductName,
UnitsInStock
FROM
ProductCTE;
MIUUL TM

CTE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Bu kodu Common Table Expression örneği ile yazınız.

-- Kodu adım adım inceleyin…1

SELECT EmployeeID CALISAN, YEAR(OrderDate) YIL,SUM(Freight) YIL_CIRO FROM Orders


GROUP BY EmployeeID, YEAR(OrderDate)

-- Kodu adım adım inceleyin…2

SELECT CALISAN, CONVERT(INT,SUM(YIL_CIRO)) CIRO FROM


(SELECT EmployeeID CALISAN, YEAR(OrderDate) YIL,SUM(Freight) YIL_CIRO FROM Orders
GROUP BY EmployeeID, YEAR(OrderDate) ) T
GROUP BY CALISAN
ORDER BY CIRO DESC
MIUUL TM

CTE [Link]
Copyright © Miuul, Inc. All Rights Reserved

Soru: Bu kodu Common Table Expression örneği ile yazınız.


-- Kodu adım adım inceleyin…1

SELECT EmployeeID CALISAN, YEAR(OrderDate) YIL,SUM(Freight) YIL_CIRO FROM Orders


GROUP BY EmployeeID, YEAR(OrderDate)

-- Kodu adım adım inceleyin…2

SELECT CALISAN, CONVERT(INT,SUM(YIL_CIRO)) CIRO FROM


(SELECT EmployeeID CALISAN, YEAR(OrderDate) YIL,SUM(Freight) YIL_CIRO FROM Orders
GROUP BY EmployeeID, YEAR(OrderDate) ) T
GROUP BY CALISAN
ORDER BY CIRO DESC

--CTE -- -- -- -- -- -- -- -- -- -- -- --

WITH EmployeeCTE AS (
SELECT EmployeeID CALISAN, YEAR(OrderDate) YIL,SUM(Freight) YIL_CIRO
FROM Orders
GROUP BY EmployeeID, YEAR(OrderDate)
)

SELECT CALISAN, CONVERT(INT,SUM(YIL_CIRO)) CIRO FROM


EmployeeCTE
GROUP BY CALISAN
ORDER BY CIRO DESC

You might also like