SELECT tOrder.雇员号, tOrder.订单号, tDetail.书籍号, tOrder.订购日期
FROM tOrder
JOIN tEmployee
ON tOrder.雇员号 = tEmployee.雇员号
JOIN tDetail
ON tOrder.订单号 = tDetail.订单号
WHERE tEmployee.职务 = '经理'
ORDER BY
tOrder.雇员号 ASC,
tOrder.订单号 DESC;
-- 1. 查询女雇员的雇员号、姓名和年龄
select 雇员号,姓名,YEAR(GetDate()) - YEAR(出生日期) AS 年龄
from tEmployee
where 性别 = '女';
-- 2. 查询2季度订购的订单号、雇员姓名和职务
SELECT tOrder.订单号, tEmployee.姓名, tEmployee.职务
FROM tOrder
JOIN tEmployee
ON tOrder.雇员号 = tEmployee.雇员号
WHERE DATEPART(quarter, 订购日期) = 2;
-- 3. 查询经理经手的雇员号、订单号、书籍号和订购日期,以雇员号升序排列,雇员号相同,以订单号降序排列
SELECT tOrder.雇员号, tOrder.订单号, tDetail.书籍号, tOrder.订购日期
FROM tOrder
JOIN tEmployee
ON tOrder.雇员号 = tEmployee.雇员号
JOIN tDetail
ON tOrder.订单号 = tDetail.订单号
WHERE tEmployee.职务 = '经理'
ORDER BY
tOrder.雇员号 ASC,
tOrder.订单号 DESC;
-- 4. 查询每笔订单明细的明细号、书籍名、总价(总价=单价*数量)
SELECT tDetail.订单明细号, tBook.书籍名称, tDetail.售出单价 * tDetail.数量 AS 总价
FROM tDetail
JOIN tBook ON tDetail.书籍号 = tBook.书籍号;
-- 5. 查询下订单数最多的客户号和订单数
SELECT top 1 客户号, COUNT(订单号) AS 订单数
FROM tOrder
GROUP BY 客户号
ORDER BY 订单数 DESC;
-- 6. 查询按出生日期月份升序显示名称为2个字雇员的姓名、性别、职称和出生日期的月份
SELECT 姓名, 性别, 职务, MONTH(出生日期) AS 出生月份
FROM tEmployee
WHERE LEN(姓名) = 2 -- 一个汉字算一个字符
ORDER BY 出生月份 ASC;