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