"SQL挑战题及答案—中文版,包括检索数据和订单产品清单"

需积分: 0 1 下载量 78 浏览量 更新于2023-12-21 1 收藏 316KB PDF 举报
FROM Customers; SELECT cust_id FROM Customers; --SELECT * FROM Customers; 4. 假设 Customers 表包含一个顾客状态列(cust_status),其中 1 表示活跃,0 表示不活跃。编写 SQL 语句,检索所有活跃顾客的 ID。 SELECT cust_id FROM Customers WHERE cust_status = 1; 5. OrderItems 表中有一个列包含的订单日期(order_date)。编写 SQL 语句,检索一个月内已订购产品的顾客。提示:使用 NOW() 函数。 SELECT cust_id FROM OrderItems WHERE order_date >= DATE_SUB(NOW(), INTERVAL 1 MONTH); 6. 编写 SQL 语句,计算 OrderItems 表中产品的总数量。 SELECT SUM(quantity) FROM OrderItems; 7. 假设 Customers 表包含一个列包含的顾客姓名(cust_name),OrderItems 表包含的产品价格(item_price)。编写 SQL 语句,检索每位顾客的总花费(按顾客 ID 排序)。 SELECT c.cust_id, c.cust_name, SUM(i.item_price*o.quantity) AS total_spent FROM Customers c JOIN OrderItems o ON c.cust_id = o.cust_id GROUP BY c.cust_id, c.cust_name ORDER BY c.cust_id; 8. 编写 SQL 语句,检索出每位顾客订购过的最贵产品的价格。 SELECT c.cust_id, c.cust_name, MAX(o.item_price) AS max_price FROM Customers c JOIN OrderItems o ON c.cust_id = o.cust_id GROUP BY c.cust_id, c.cust_name; 9. 编写 SQL 语句,检索出每位顾客订购的产品数以及总花费(按顾客 ID 排序)。 SELECT c.cust_id, c.cust_name, COUNT(o.prod_id) AS total_products, SUM(o.quantity*o.item_price) AS total_spent FROM Customers c JOIN OrderItems o ON c.cust_id = o.cust_id GROUP BY c.cust_id, c.cust_name ORDER BY c.cust_id;以上就是挑战题及其答案的中文版,希望能帮到您。