当前位置: 首页 > news >正文

union all 关联查询

UNION ALL 并非用于表的关联查询,而是用于将多个 SELECT 语句的结果集合并成一个结果集。它会保留所有重复的行,不像 UNION 会去除重复行。下面为你提供几种使用 UNION ALL 的场景示例。

示例表结构

假设存在两个表 sales_2024 和 sales_2025,它们的结构相同,都有 sale_id(销售编号)、product_name(产品名称)、quantity(销售数量)和 sale_date(销售日期)字段。

1. 合并两个表的数据

下面的 SQL 语句使用 UNION ALL 把 sales_2024 和 sales_2025 表的数据合并成一个结果集:

union-all-queryMySQL UNION ALL 关联查询示例

生成 union_all_two_tables.sql

SELECT sale_id, product_name, quantity, sale_date
FROM sales_2025
WHERE quantity > 100
UNION ALL
SELECT sale_id, product_name, quantity, sale_date
FROM sales_2025
WHERE quantity <= 100;

生成 union_all_different_conditions.sql

SELECT sale_id, product_name, quantity, sale_date
FROM sales_2024
UNION ALL
SELECT sale_id, product_name, quantity, sale_date
FROM sales_2025; 

生成 union_all_with_join.sql

SELECT s.sale_id, p.product_name, s.quantity, s.sale_date
FROM sales_2024 s
JOIN products p ON s.product_name = p.product_name
UNION ALL
SELECT s.sale_id, p.product_name, s.quantity, s.sale_date
FROM sales_2025 s
JOIN products p ON s.product_name = p.product_name;  

2. 合并不同条件下的查询结果

假设你想从 sales_2025 表中分别获取销售量大于 100 和销售量小于等于 100 的记录,并将它们合并成一个结果集,可以使用如下 SQL 语句:

3. 结合关联查询使用 UNION ALL

若要在关联查询中使用 UNION ALL,可以先进行关联查询,然后将多个关联查询的结果合并。假设除了 sales_2024 和 sales_2025 表,还有一个 products 表,包含 product_id(产品编号)和 product_name(产品名称)字段。下面的 SQL 语句将两个年份的销售数据与产品表关联查询的结果合并:

你可根据实际的表结构和业务需求对上述 SQL 语句进行调整。

相关文章:

  • OpenAI发布GPT-4.1:开发者专属模型的深度解析 [特殊字符]
  • 无服务器架构(Serverless)在Web开发与云原生中的应用研究
  • 外接键盘与笔记本命令键键位不同解决方案(MacOS)
  • 蓝桥杯 1.路径之谜
  • 利用quartus的DDS函数信号发生器设计
  • jdk 安装
  • 一、小白如何用Pygame制作一款跑酷类游戏(成品展示+添加背景图和道路移动效果)
  • 嵌入式面试题:C 语言基础重点总结
  • Flutter 图标和按钮组件
  • 基于RV1126开发板下的WIFI的AP模式配置
  • 【vue3】vue3+express实现图片/pdf等资源文件的下载
  • 埃文科技助力山西公共数据运营新发展
  • 关于 人工智能(AI)发展简史 的详细梳理,按时间阶段划分,涵盖关键里程碑、技术突破、重要人物及挑战
  • QuickAPI 全生命周期管理:从开发到退役的闭环实践​
  • 告别繁琐,拥抱简洁:初识 Pytest 与环境搭建 (Pytest系列之一)
  • vue3 elementPlus中el-tree-select封装和自定义模糊搜索
  • 大数据学习(108)-子查询
  • #苍穹外卖#(day3-4)
  • Verilog的整数除法
  • 【FPGA】——DDS信号发生器设计
  • 建行原副行长章更生被开除党籍:靠贷吃贷,大搞权钱交易
  • 视频丨习近平同阿塞拜疆总统会谈:两国建立全面战略伙伴关系
  • “未来3天公布”,特朗普俄乌“和平计划”是什么?普京泽连斯基什么态度?
  • 广西一季度GDP为6833.92亿元,同比增长5.8%
  • 事故调查报告:东莞一大楼装修项目去年致1人死亡,系违规带电作业
  • 4月语言学联合书单|法庭审判话语的态度表达及人际功能研究