【背景】:物流公司想要分析快递小哥的薪资构成和绩效情况,以便制定更合理的薪酬政策。 【原始表】: couriers_info (快递员)表: courier_id (快递员 ID): 快递员的唯一标识符,INT courier_name (快递员姓名): 快递员的姓名,VARCHAR(50) base_salary (基本工资): 快递员的基本工资,DECIMAL(10, 2) deliveries_info (派送)表: delivery_id (派送 ID): 派送任务的唯一标识符,INT courier_id (快递员 ID): 关联快递员表的快递员 ID,INT delivery_date (派送日期): 派送的日期,DATE delivery_fee (派送费用): 每次派送的费用,DECIMAL(10, 2) 【要求】:根据上述表格,查询出每个快递员在 2024 年 7 月的总收入(基本工资 + 派送费用总和 )。查询结果按照快递员 ID 升序排列。要求查询出来的表格的字段如下: courier_id: 快递员的唯一标识符。 courier_name: 快递员的姓名。 total_income: 快递员2024 年 7 月的总收入。 【示例】 couriers_info (快递员)表: deliveries_info (派送)表: 【按要求查出来的表】 【解释】 上述示例中,courier_id是2的员工名字是Bob,底薪是1800,和他有关的派送费用有3笔但是只有2笔是7月份的,所以他7月份的收入是1800+60+60 = 1920
示例1

输入

DROP TABLE IF EXISTS couriers_info;
DROP TABLE IF EXISTS deliveries_info;


CREATE TABLE couriers_info (
    courier_id INT PRIMARY KEY,
    courier_name VARCHAR(50),
    base_salary DECIMAL(10, 2)
);

CREATE TABLE deliveries_info (
    delivery_id INT PRIMARY KEY,
    courier_id INT,
    delivery_date DATE,
    delivery_fee DECIMAL(10, 2)
);



INSERT INTO couriers_info (courier_id, courier_name, base_salary) VALUES
(1, 'Alice', 2000.00),
(2, 'Bob', 1800.00);

INSERT INTO deliveries_info (delivery_id, courier_id, delivery_date, delivery_fee) VALUES
(1, 1, '2024-07-01', 50.00),
(2, 1, '2024-07-05', 50.00),
(3, 2, '2024-06-03', 40.00),
(4, 2, '2024-07-10', 60.00),
(5, 2, '2024-07-10', 60.00);


select * from couriers_info;
select * from deliveries_info;

输出

courier_id|courier_name|total_income
1|Alice|2100.00
2|Bob|1920.00
加载中...