|
SQL(Structured Query Language)
·
Bütün Ürünlerin,bütün bilgilerini listeleyelim.
|
Select *
From Production.Product
|
·
Rengi ‘Silver’ olan ürünlerin ProductID,Name,Color,ListPrice bilgilerini listeyelim.
|
Select
ProductID,[Name],Color,ListPrice
From
Production.Product
Where Color='Silver'
|
·
Rengi ‘Silver’ olan ürünlerin ProductID,Name,Color,ListPrice ve Model bilgilerini
listeleyelim.
|
Select
P.ProductID,P.[Name],P.Color,P.ListPrice,PM.Name
From
Production.Product P,Production.ProductModel PM
Where Color='Silver'
AND P.ProductModelID=PM.ProductModelID
|
·
Rengi ‘Silver’ olan,Model adı içinde ‘Mountain’ geçen ürünlerin ProductID,Name,Color,ListPrice
ve Model bilgilerini listeleyelim.
|
Select
P.ProductID,P.[Name],P.Color,P.ListPrice,PM.Name
From
Production.Product P,Production.ProductModel PM
Where
Color='Silver'
AND PM.[Name]
LIKE '%Mountain%'
AND
P.ProductModelID=PM.ProductModelID
|
·
Ürünlerin ProductID,Name,Color,ListPrice değerlerini fiyatlarının büyükten küçüğe
doğru gelecek biçimde listeleyelim.
|
SELECT
ProductID,[Name],Color,ListPrice
FROM
Production.Product
ORDER BY ListPrice
DESC
|
·
En yüksek fiyata sahip 10 ürünün ProductID,Name,Color,ListPrice bilgilerini listeyelim.
|
SELECT
TOP(10)
ProductID,[Name],Color,ListPrice
FROM
Production.Product
ORDER BY ListPrice
DESC
|
·
Her bir renge ait ürünlerin,ortalama fiyatlarını büyükten küçüğe doğru listeleyelim.(Örneğin
Rengi Silver olan bütün ürünlerin ortalama fiyatları,black olan ortalama fiyatları
gibi)
|
SELECT Color,AVG(ListPrice) as OrtFiyat
FROM
Production.Product
GROUP
BY Color
ORDER BY OrtFiyat
DESC
|
·
Rengi Silver olan ürünleri, ProductID,Name,Color,ListPrice,Modeli
ve kategorisiyle birlikte listeleyelim.
|
SELECT
P.ProductID,P.[Name] 'Ürün',P.Color,P.ListPrice,
PM.[Name]
'Model',PSC.[Name] 'Kategori'
FROM
Production.Product P,Production.ProductModel PM,
Production.ProductSubcategory
PSC
WHERE
P.ProductSubcategoryID=PSC.ProductSubcategoryID AND
P.ProductModelID=PM.ProductModelID
|
·
‘Bikes’ kategorisi altındaki tüm ürünleri listeleyiniz.
|
SELECT
P.ProductID,P.[Name],P.Color,P.ListPrice,PC.[Name],PSC.[Name]
FROM Production.Product
P,Production.ProductSubcategory
PSC,
Production.ProductCategory
PC
WHERE P.ProductSubcategoryID=PSC.ProductSubcategoryID
AND
PSC.ProductCategoryID=PC.ProductCategoryID
AND
PC.[Name]='Bikes'
|
·
‘Bikes’ üst kategorisi altındaki her bir alt kategorinin altında kaçar tane ürün
olduğunu listeleyiniz.
|
SELECT
PSC.[Name],COUNT(P.ProductID)
FROM
Production.Product P,Production.ProductSubcategory PSC,
Production.ProductCategory
PC
WHERE
P.ProductSubcategoryID=PSC.ProductSubcategoryID AND
PSC.ProductCategoryID=PC.ProductCategoryID
AND
PC.[Name]='Bikes'
GROUP BY PSC.[Name]
|
·
En yüksek ve en düşük ürünleri listeleyiniz.
|
SELECT
TOP(1)
[Name],ListPrice FROM
Production.Product
WHERE
ListPrice=(SELECT
MAX(ListPrice) FROM Production.Product)
UNION
SELECT
TOP(1)
[Name],ListPrice FROM
Production.Product
WHERE ListPrice=(SELECT
MIN(ListPrice) FROM Production.Product)
|
·
Bütün ürünleri öncelikle kategorilerine göre,daha sonra modeline göre,daha sonrada
fiyatına göre sıralı bir biçimde gelecek şekilde ProductID,Name,Color,Model,ListPrice,Kategori
bilgilerini listeleyiniz.
|
SELECT
PC.[Name],PSC.[Name],P.ProductID,P.[Name],PM.[Name],P.Color,P.ListPrice
FROM Production.Product
P,Production.ProductSubcategory
PSC,
Production.ProductCategory
PC,Production.ProductModel
PM
WHERE P.ProductSubcategoryID=PSC.ProductSubcategoryID
AND
PSC.ProductCategoryID=PC.ProductCategoryID
AND
P.ProductModelID=PM.ProductModelID
ORDER BY PC.[Name],PSC.[Name],P.ListPrice
|
·
Rengi ‘Silver’ olan ürünlerin ProductID,Name,Color,Model,ListPrice bilgilerini listeyeleyiniz.(JOIN
kullanılacak).Örneğin bir ürün için model belirtilmemiş ise o kayıtda gelsin.
|
SELECT
P.ProductID,P.[Name],P.Color,P.ListPrice,PM.[Name]
FROM Production.Product
P LEFT OUTER JOIN Production.ProductModel
PM
ON P.ProductModelID=PM.ProductModelID
|
·
Rengi ‘Silver’ olan ürünlerin ProductID,Name,Color,Model,ListPrice bilgilerini listeyeleyiniz.(JOIN
kullanılacak).Herhangi bir ürün içermeyen modellerin bilgileride gelecek.Herhangi
bir modeli olmayan ürünler gelmeyecek.
|
SELECT
P.ProductID,P.[Name],P.Color,P.ListPrice,PM.[Name]
FROM Production.Product
P RIGHT OUTER JOIN
Production.ProductModel PM
ON P.ProductModelID=PM.ProductModelID
|
·
Rengi ‘Silver’ olan ürünlerin ProductID,Name,Color,Model,ListPrice bilgilerini listeyeleyiniz.(JOIN
kullanılacak).Herhangi bir modele ait olmayan ürünler ve herhangi bir ürün içermeyen
modeller listelenmesin.
|
SELECT
P.ProductID,P.[Name],P.Color,P.ListPrice,PM.[Name]
FROM Production.Product
P INNER JOIN Production.ProductModel PM
ON P.ProductModelID=PM.ProductModelID
|
·
10’dan fazla ürünü olan modelleri ve ürün sayılarını listeleyiniz.
|
SELECT
PM.[Name],Count(P.ProductID)
FROM
Production.Product P
INNER
JOIN Production.ProductModel
PM
ON
P.ProductModelID=PM.ProductModelID
GROUP
BY PM.[Name]
HAVING Count(P.ProductID)>10
|
·
Modeli olan bütün ürünleri modelleriyle birlikte listeleyiniz.
|
SELECT
P.ProductID,P.[Name],P.Color,P.ListPrice,PM.[Name]
FROM
Production.Product P INNER
JOIN Production.ProductModel
PM
ON P.ProductModelID=PM.ProductModelID
SELECT
P.ProductID,P.[Name],P.Color,P.ListPrice
FROM
Production.Product P
WHERE
EXISTS
(
SELECT
* FROM Production.ProductModel PM
WHERE
PM.ProductModelID=P.ProductModelID
)
|
·
Product tablosunun %20’si listeliyniz.(Ürünler rasgele seçilecektir.)
|
SELECT
ProductID,[Name],Color,ListPrice
FROM
Production.Product
TABLESAMPLE(20
PERCENT)
|
·
Günün tarihini YYYY..MM..DD biçiminde gösteriniz.
|
SELECT
CONVERT(CHAR(4),YEAR(GETDATE()))+'..'+
CONVERT(CHAR(2),MONTH(GETDATE())) +'..'+
CONVERT(CHAR(2),DAY(GETDATE()))
|
·
En Küçük ile En yüksek fiyatlı ürün arasındaki farkı bulan SQL cümleceiğini yazınız.
|
SELECT
MAX(ListPrice) as
'Minimum',MIN(ListPrice)
as 'Maximum',
(MAX(ListPrice)-MIN(ListPrice)) as
'Fark'
FROM
Production.Product
WHERE ListPrice>0
|
·
Üst ve alt kategorileri,önce Üst kategoriye göre sonrada alt kategoriye göre sıralayarak
listeleyiniz.
|
SELECT
PC.[Name],PSC.[Name]
FROM
Production.ProductCategory PC,Production.ProductSubcategory PSC
WHERE
PC.ProductCategoryID=PSC.ProductCategoryID
ORDER BY PC.[Name],PSC.[Name]
|
·
10’dan fazla alt kategorisi olan kategorileri ad sıralamasına göre listeleyiniz.
|
SELECT
PC.[Name],Count(PSC.[Name])
FROM
Production.ProductCategory PC,Production.ProductSubcategory PSC
WHERE
PC.ProductCategoryID=PSC.ProductCategoryID
GROUP
BY PC.[Name]
HAVING
Count(PSC.[Name])>10
ORDER BY PC.[Name]
|
·
En uzun isme sahip ürünü bulunuz
|
SELECT
TOP(1)
P.[Name],LEN(P.[Name])
FROM
Production.Product P
ORDER BY
LEN(P.[Name]) DESC
|
·
HL Road Frame ve Sport-100 modellerine ait olan ürünlerin toplam fiyatlarını beliritlen
model isimleri kolon olacak biçimde gösteriniz.
|
SELECT
[HL Road Frame],[Sport-100]
FROM
(
SELECT
PM.[Name] as ModelName,P.ListPrice price
FROM
Production.Product P,Production.ProductModel PM
WHERE
P.ProductModelID=PM.ProductModelID
)
AS H
PIVOT
(
SUM(price)
FOR
ModelName IN ([HL
Road Frame],[Sport-100])
) AS Pvt
|
Sonuç :
|
HL Road
Frame
|
Sport-100
|
|
15746,50
|
104,97
|
·
EmployeePayHistory tablosunda her bir çalışanın yıllara göre ödemelerinde değişim
oranları tutulmaktadır.Bu tabloyu kullanarak 1996-2003 yılları arasında bütün çalışanlarda
yıl yıl gerçekleşen en yüksek ödeme değişim oranını listeleyiniz.
|
SELECT
*
FROM
(
SELECT
EmployeeID,YEAR(RateChangeDate)
AS ChangeYear,Rate
FROM
HumanResources.EmployeePayHistory
)
AS EmpRates
PIVOT
(
MAX(Rate)
FOR
ChangeYear IN
(
[1996],[1997],[1998],[1999],
[2000],[2001],[2002],[2003]
)
) AS Pvt
|
|