SQL作业一


多表查询

*查询 Northwind 库
查询订购日期在1996年7月1日至1996年7月15日之间
的订单的订购日期、订单ID、相应订单的客户公司名称、负责订单的雇员的姓氏和名字等字段的值,
并将查询结果按雇员的“姓氏”和“名字”字段的升序排列,
“姓氏”和“名字”值相同的记录按“订单 ID”的降序排列。

SELECT OrderID,OrderDate,CompanyName,LastName,FirstName
FROM  [Orders] AS A,Customers AS B,Employees AS C
WHERE A.CustomerID=B.CustomerID AND A.EmployeeID=C.EmployeeID
 AND OrderDate BETWEEN '1996-07-01' AND '1996-07-15'
ORDER BY LastName,FirstName,OrderID  DESC

*查询 Northwind 库
查询“10248”和“10254”号订单的订单ID、运货商的公司名称
、订单上所订购的产品的名称。

SELECT A. OrderID, B.ProductName,C.CompanyName
FROM Orders AS A,ProductS AS B,Shippers AS C,[Order Details] AS D
WHERE A.ShipVia=C.ShipperID AND  B.ProductID=D.ProductID AND A.OrderID=D.OrderID
AND( D.OrderID=10248 OR D.OrderID=10254)

*查询 Northwind 库
查询“10248”和“10254”号订单的订单ID、
订单上所订购的产品的名称、数量、单价和折扣。

SELECT A.OrderID, B.ProductName,A.UnitPrice ,A.Quantity,A.Discount
FROM  [Order Details] AS A,ProductS AS B
WHERE A.ProductID=B.ProductID AND A.OrderID=10248 OR A.OrderID=10254

*查询 Northwind 库
查询“10248”和“10254”号订单的
订单ID、订单上所订购的产品的名称及其销售金额。

SELECT A.OrderID, B.ProductName,(A.UnitPrice *A.Quantity*(1-A.Discount))AS Sales
FROM  [Order Details] AS A,ProductS AS B
WHERE A.ProductID=B.ProductID AND A.OrderID=10248 OR A.OrderID=10254

综合查询
查询所有运货商的公司名称和电话。
 
SELECT 货运公司名称,电话
FROM 货运公司

查询所有客户的公司名称、电话、传真、地址、联系人姓名
和联系人头衔。
 
SELECT 公司名称,电话,传真,地址,联系人 ,联系人职称
FROM MyCustomer

查询单价介于10至30元的所有产品的产品ID、产品名称和库存量。
 
SELECT  产品编号, 产品 , 库存量
FROM  产品资料 
 WHERE 单价 >10 AND  单价 <30

查询单价大于20元的所有产品的产品名称、
单价以及供应商的公司名称、电话。

SELECT  产品, 单价 , 供应商, 电话
FROM   产品资料 AS  A,供应商  AS  B
WHERE  A.供应商编号=B.供应商编号  AND  A.单价 >20
 
查询北京市和上海市的客户在1996年订购的所有订单的
订单ID、所订购的产品名称和数量。

SELECT  B.订单号码, 产品, 数量 , 订单日期
FROM   产品资料   AS  A,订货明细  AS  B ,MyOrders  AS  C
WHERE  A.产品编号=B.产品编号 AND B.订单号码=C.订单号码
AND (送货城市= '北京市' OR 送货城市= '上海市' )
AND  CONVERT(VARCHAR(4),C.订单日期,120)='1996'

查询北京市客户的每份订单的订单ID、产品名称和销售金额。
 
SELECT B.订单号码,产品,B.单价*数量*(1-折扣) AS 销售金额
FROM  产品资料  AS A,订货明细 AS B ,MyOrders AS C
WHERE A.产品编号=B.产品编号 AND B.订单号码=C.订单号码
AND  送货城市= '北京市'
 
按运货商公司名称,统计1997年由各个运货商承运的订单的
总数量。
 
SELECT 货运公司名称, COUNT(B.数量)
FROM  MyOrders AS A , 订货明细 AS B , 货运公司 AS C
WHERE A.订单号码=B.订单号码 AND A.送货方式=C.货运公司编号
AND  CONVERT(VARCHAR(4),A.订单日期,120)='1997'
GROUP BY 货运公司名称

统计1997年上半年的每份订单上所订购的产品的总数量。
 
SELECT B.订单号码, COUNT(B.数量)AS 总数量
FROM  MyOrders AS A , 订货明细 AS B 
WHERE A.订单号码=B.订单号码 
AND  CONVERT(VARCHAR(10),A.订单日期,120)BETWEEN '1997-01-01'AND'1997-06-30'
GROUP BY B.订单号码

统计各类产品的平均价格。

SELECT B. 类别名称 ,AVG(A.单价 )AS 平均价格
FROM   产品资料 AS A , 产品类别 AS B 
WHERE A.类别编号=B.类别编号  
GROUP BY B. 类别名称

统计各地区客户的总数量。

 SELECT 送货城市, COUNT(*)AS 客户总数量
FROM  MyOrders
GROUP BY 送货城市

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹琼俊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值