-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy path28-Sub query.sql
More file actions
60 lines (49 loc) · 1.37 KB
/
28-Sub query.sql
File metadata and controls
60 lines (49 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
-- Liet ke ra toan bo san pham
SELECT [ProductID], [ProductName], [UnitPrice]
FROM [dbo].[Products];
-- Tim gia trung binh cua cac san pham
SELECT AVG([UnitPrice])
FROM [dbo].[Products];
-- Loc nhung san pham co gia > gia trung binh
SELECT [ProductID], [ProductName], [UnitPrice]
FROM [dbo].[Products]
WHERE [UnitPrice] > 28.4962;
-- Sub query
SELECT [ProductID], [ProductName], [UnitPrice]
FROM [dbo].[Products]
WHERE [UnitPrice] > (
SELECT AVG([UnitPrice])
FROM [dbo].[Products]
);
-- Loc ra nhung khach hang co so don hang > 10
SELECT c.CustomerID, c.CompanyName, count(o.OrderId) as [TotalOrders]
FROM [dbo].[Customers] c
LEFT JOIN [dbo].[Orders] o
ON c.CustomerID = o.CustomerID
GROUP BY c.CustomerID, c.CompanyName
HAVING count(o.OrderId) > 10;
-- Sub query
SElECT *
FROM [dbo].[Customers]
WHERE [CustomerID] IN (
SELECT [CustomerID]
FROM [dbo].[Orders]
GROUP BY [CustomerID]
HAVING COUNT(OrderId)>10
);
-- Tinh tong tien cho tung don hang
SELECT o.*, (
SELECT SUM(od.Quantity*od.UnitPrice)
FROM [dbo].[Order Details] od
WHERE o.OrderID = od.OrderID
) AS [Total]
FROM [dbo].[Orders] o;
-- Loc ra ten san pham va tong so don hang cua san pham
SELECT ProductName, TotalOrders
FROM
(SELECT p.ProductID, p.ProductName, (
SELECT COUNT(*)
FROM [dbo].[Order Details] od
WHERE od.ProductID = p.ProductID
) as [TotalOrders]
FROM [dbo].[Products] p) AS Temp;