面试题答案
一键面试思路:
- 首先通过
JOIN
操作将orders
表和customers
表关联起来,关联条件是两个表中的customer_id
。 - 然后筛选出
order_date
在最近一周内的订单。假设当前日期可以通过函数获取(如MySQL中的CURRENT_DATE
),那么最近一周的日期范围就是CURRENT_DATE - INTERVAL 1 WEEK
到CURRENT_DATE
。 - 最后从连接和筛选后的结果中选择需要的字段
customer_name
,city
,order_date
来创建视图。
SQL语句(以MySQL为例):
CREATE VIEW recent_orders_by_city AS
SELECT
c.customer_name,
c.city,
o.order_date
FROM
orders o
JOIN
customers c ON o.customer_id = c.customer_id
WHERE
o.order_date >= CURDATE() - INTERVAL 1 WEEK;