概念:左表和右表是同一个表,根据连接查询条件查询两个表中的数据.
说明:
(1)自连接查询必须对表起别名;
2) 自连接的使用方法和内连接,左连接,右连接完全相同,只不过连接的左表和右表是同一张表.
案例
CREATE TABLE sales( month INT NOT NULL, -- 月份 revenue DECIMAL(10, 2) -- 销售额);INSERT INTO salesVALUES (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.revenueFROM sales AS ALEFT JOIN sales as BON A.month = B.month + 1;示例2:查询截止到每个月的销售额。-- 查询结果字段:月份,截止当前的累计销售额SELECT A.month, sum(B.revenue)FROM sales as AJOIN sales as BON A.month >= B.monthGROUP BY A.month;
来源地址:https://blog.csdn.net/weixin_43242845/article/details/129483341