MYSQL自连接查询

MYSQL自连接查询

1.概念:左表和右表是同一个表,根据连接查询条件查询两个表中的数据.

说明:

​ (1)自连接查询必须对表起别名;

​ 2) 自连接的使用方法和内连接,左连接,右连接完全相同,只不过连接的左表和右表是同一张表.

2.案例

CREATE TABLE sales
(
    month   INT NOT NULL,  -- 月份
    revenue DECIMAL(10, 2) -- 销售额
);

INSERT INTO sales
VALUES (1, 1000),
       (2, 800),
       (3, 1200),
       (4, 2000),
       (5, 1800),
       (6, 5000),
       (7, 3000),
       (8, 2500),
       (9, 1600),
       (10, 2200),
       (11, 900),
       (12, 4600);
示例1:查询每个月的销售额和前一个月的销售额的差值
-- 查询结果字段:月份、当前月销售额、前一个月销售额,当前月销售额和前一个月销售额的差
SELECT
    A.month,
    A.revenue,
    B.revenue,
    A.revenue - B.revenue
FROM sales AS A
LEFT JOIN sales as B
ON A.month = B.month + 1;


示例2:查询截止到每个月的销售额。
-- 查询结果字段:月份,截止当前的累计销售额
SELECT
    A.month,
    sum(B.revenue)
FROM sales as A
JOIN sales as B
ON A.month >= B.month
GROUP BY A.month;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lucky bigdata

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

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

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

打赏作者

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

抵扣说明:

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

余额充值