Initial commit
This commit is contained in:
53
Experiment1.2/Exp1-2.sql
Normal file
53
Experiment1.2/Exp1-2.sql
Normal file
@@ -0,0 +1,53 @@
|
||||
USE TPCH;
|
||||
Go
|
||||
-- 单表查询(实现投影操作)
|
||||
-- 查询供应商的名称、地址和联系电话
|
||||
SELECT name, address, phone
|
||||
FROM Sales.Supplier;
|
||||
Go
|
||||
-- 单表查询(实现选择操作)
|
||||
-- 查询最近一周内提交的总价大于1000元的订单的编号、顾客编号等订单的所有信息
|
||||
SELECT *
|
||||
FROM Sales.Orders
|
||||
WHERE DATEDIFF(day, orderdate, GETDATE()) < 7 AND totalprice > 1000;
|
||||
Go
|
||||
-- 不带分组过滤条件的分组统计查询
|
||||
-- 统计每个顾客的订购金额
|
||||
SELECT C.custkey, SUM(O.totalprice)
|
||||
FROM Sales.Customer C, Sales.Orders O
|
||||
WHERE C.custkey = O.custkey
|
||||
GROUP BY C.custkey;
|
||||
Go
|
||||
-- 带分组过滤条件的分组统计查询
|
||||
-- 查询订单平均金额超过1000元的顾客编号及其姓名
|
||||
SELECT C.custkey, MAX(C.name)
|
||||
FROM Sales.Customer C, Sales.Orders O
|
||||
WHERE C.custkey = O.custkey
|
||||
GROUP BY C.custkey
|
||||
HAVING AVG(O.totalprice) > 1000;
|
||||
Go
|
||||
-- 单表自身连接查询
|
||||
-- 查询与“金仓集团”在同一个国家的供应商编号、名称和地址信息
|
||||
SELECT F.suppkey, F.name, F.address
|
||||
FROM Sales.Supplier F, Sales.Supplier S
|
||||
WHERE F.nationkey = S.nationkey AND S.name = N'金仓集团';
|
||||
Go
|
||||
-- 两表连接查询(普通连接)
|
||||
-- 查询供应价格大于零售价格的零件名、制造商名、零售价格和供应价格
|
||||
SELECT P.name, P.mfgr, P.retailprice, PS.supplycost
|
||||
FROM Sales.Part P, Sales.Partsupp PS
|
||||
WHERE PS.supplycost > P.retailprice;
|
||||
Go
|
||||
-- 两表连接查询(自然连接)
|
||||
-- 查询供应价格大于零售价格的零件名、制造商名、零售价格和供应价格
|
||||
SELECT P.name, P.mfgr, P.retailprice, PS.supplycost
|
||||
FROM Sales.Part P, Sales.Partsupp PS
|
||||
WHERE P.partkey = PS.partkey
|
||||
AND PS.supplycost > P.retailprice;
|
||||
Go
|
||||
-- 三表连接查询
|
||||
-- 查询顾客“苏举库”订购的订单编号、总价及其订购的零件编号、数量和明细价格
|
||||
SELECT O.orderkey, O.totalprice, L.partkey, L.quantity, L.extendedprice
|
||||
FROM Sales.Customer C, Sales.Orders O, Sales.Lineitem L
|
||||
WHERE C.custkey = O.custkey AND O.orderkey = L.orderkey AND C.name = N'苏举库';
|
||||
Go
|
||||
BIN
Experiment1.2/Report.docx
Normal file
BIN
Experiment1.2/Report.docx
Normal file
Binary file not shown.
Reference in New Issue
Block a user