SQL进阶之关联子查询行间比较

  • 关联子查询行间比较
    • 越前须知(雾)
    • 具体用法
      • 与最近一年比较营收
      • 移动平均值和移动累计值
      • 查询重叠的时间区间

关联子查询行间比较

越前须知(雾)

  • 本系列参考《SQL进阶教程》1,DBMS选用MySQL。
  • 本系列不涉及数据库安装与基础语句,对初学者存在一定门槛;基础知识建议阅读《SQL必知必会(第四版)》与《SQL基础教程(第二版)》。

具体用法

与最近一年比较营收

  • 创表
-- 时间轴连续
CREATE TABLE Sales
(year INTEGER NOT NULL , sale INTEGER NOT NULL ,PRIMARY KEY (year));
​
INSERT INTO Sales VALUES (1990, 50);
INSERT INTO Sales VALUES (1991, 51);
INSERT INTO Sales VALUES (1992, 52);
INSERT INTO Sales VALUES (1993, 52);
INSERT INTO Sales VALUES (1994, 50);
INSERT INTO Sales VALUES (1995, 50);
INSERT INTO Sales VALUES (1996, 49);
INSERT INTO Sales VALUES (1997, 55);-- 时间轴断裂
CREATE TABLE Sales2
(year INTEGER NOT NULL , sale INTEGER NOT NULL , PRIMARY KEY (year));
​
INSERT INTO Sales2 VALUES (1990, 50);
INSERT INTO Sales2 VALUES (1992, 50);
INSERT INTO Sales2 VALUES (1993, 52);
INSERT INTO Sales2 VALUES (1994, 55);
INSERT INTO Sales2 VALUES (1997, 55);
  1. 时间轴连续:与上一年营收数据比较

Q:寻找与上年持平年份&营收
A:子查询 / 自连接 / EXISTS

-- 子查询
select year, sale from Sales S1 -- 用S2.year = S1.year - 1 偏移一行关联where sale = (select S2.sale from Sales S2 where S2.year = S1.year - 1)order by year;-- 自连接
select S1.year, S1.sale from Sales S1, Sales S2 where S1.sale = S2.sale and S1.year = S2.year + 1order by year

SQL进阶之关联子查询行间比较相关推荐

  1. SQL进阶之关联子查询练习

    SQL进阶之关联子查询 一.关联子查询简介 二.关联子查询实操 1.CreateTable 2.Sample 一.关联子查询简介 通过关联表内部条件从而达到查询效果 二.关联子查询实操 注:版本使用: ...

  2. SQL中的关联子查询

    目录 关联查询 例子 分解相关的嵌套查询 与不同的表一起使用 关联子查询与内部联接 哪个更快? 哪个更容易阅读? 哪一个更好? HAVING子句中的关联子查询 在本文中,我们将查看几个示例并将关联子查 ...

  3. server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...

    4.1.查询的类型 declare @value as int set @value = 50 select  'age:'as age,2008 years,@valueas va --这种查询时跟 ...

  4. SQL子查询和关联子查询

    子查询:将用来定义视图的SELECT语句直接用于FROM子句中. SELECT <列名1>, <列名2>, - FROM (<SELECT语句>) AS <视 ...

  5. python中and与or的执行顺序-关联子查询的执行顺序是什么

    sql的编写顺序 select .. from .. where .. group by ..having .. order by .. sql的执行顺序 from .. where .. group ...

  6. Oracle 的关联子查询(correlated subquery) 简介.

    相信 接触过 ocp考题既, 都会见到 correlated subquery的字眼. correlated subquery的中文名称就是相关子查询呢? 1. 什么是子查询 这个很简单,  子查询就 ...

  7. order by 子查询_视图,子查询,标量子查询,关联子查询

    视图 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 1. 视图 视图内存放SQL查询语句,运行时运行该语句.查出的数据为临时数据 创建视图 create view as 视图名称 ...

  8. Oracle 数据库的子查询(关联子查询)

    文章目录 一.子查询结果返回一个值(单列单行) 二.子查询结果返回多行(单列多行) 三.子查询结果返回多列多行 四.关联子查询 (一)子查询执行顺序 (二)exists 关键字 五.子查询总结 六.关 ...

  9. oracle subquery是什么,如何让非关联子查询(uncorrelated subquery)先执行

    如何让非关联子查询(uncorrelated subquery)先执行 环境:10.2.0.4 / Solaris 9 有一个sql: [php] SELECT M.PROD_DATE, N.FAC_ ...

最新文章

  1. MongoDB开发学习开天辟地,经典入门
  2. docker安装ActiveMQ
  3. 使用 go 实现 Proof of Stake 共识机制
  4. Git完整入门教程(从0开始)
  5. python基础(二)字符串內建函数详解
  6. SAP CRM HANA report filter的工作原理
  7. numpy创建zeros数组时报错TypeError: Cannot interpret ‘8‘ as a data type
  8. 一个完全摆脱findViewById的自动绑定库
  9. jQuery从后面开始截取
  10. 绑定host域名 修改手机hosts域名
  11. Spring Boot和Dubbo整合
  12. 基于Visual C++2010与windows7 SDK开发传感器应用(触觉传感器,温度传感器等等)
  13. Github emoji 表情包大全
  14. 使用阿里云实现短信发送功能
  15. Imagination发布开源项目:适配PowerVR IP的Vulkan驱动和编译器合入Mesa 3D 图形库
  16. DNS劫持是什么意思?DNS被劫持怎么办?dns被劫持了怎么处理
  17. re.compile(r'xxx')中的r是什么意思
  18. JAVA毕业设计口腔医院患者服务系统计算机源码+lw文档+系统+调试部署+数据库
  19. Win10更新:你的设备中缺少重要的安全和质量修复。
  20. 数字图像处理与Python实现-离散余弦变换

热门文章

  1. 天生像贵族的五个星座,有没you你 ?
  2. SQL server Developer 2017的配置
  3. conda env虚拟环境
  4. 英特尔方之熙:钟情嵌入式 摩尔定律多片用武之地
  5. java中emit的用法_emit的用法
  6. Cadence Allegro PCB 铺铜管理
  7. Acwing 1077.皇宫看守
  8. 使用Python进行三维可视化
  9. 保护视力的台灯哪个品牌好?盘点专业性强的护眼台灯
  10. 带宽、网速和流量之间的关系