MYsql的UNION使用 构造结果集

2024-08-29 04:48

本文主要是介绍MYsql的UNION使用 构造结果集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如果想选择其他几个表中的行或从一个单一的表作为一个单独的结果集行的几个集会,那么可以使用的UNION。

UNION在MySQL4.0以上版本才能可以使用。本节说明如何使用它。

假设有两个表,潜在和实际的客户列表,供应商购买耗材合并所有三个表中的姓名和地址,来创建一个单一的邮件列表。UNION提供了一种方法做到这一点。假设三个表有以下内容:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mysql> SELECT * FROM prospect;
+ - - - - - - - - - + - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +
| fname | lname | addr     |
+ - - - - - - - - - + - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +
| Peter | Jones | 482 Rush St., Apt. 402 |
| Bernice | Smith | 916 Maple Dr.   |
+ - - - - - - - - - + - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +
mysql> SELECT * FROM customer;
+ - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - +
| last_name | first_name | address    |
+ - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - +
| Peterson | Grace  | 16055 Seminole Ave. |
| Smith  | Bernice | 916 Maple Dr.  |
| Brown  | Walter  | 8602 1st St.  |
+ - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - +
mysql> SELECT * FROM vendor;
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - +
| company   | street    |
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - +
| ReddyParts, Inc. | 38 Industrial Blvd. |
| Parts - to - go, Ltd. | 213B Commerce Park. |
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - +

这不要紧,如果所有的三个表具有不同的列名。下面的查询演示了如何选择一下子从三个表的名称和地址:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> SELECT fname, lname, addr FROM prospect
- > UNION
- > SELECT first_name, last_name, address FROM customer
- > UNION
- > SELECT company, '', street FROM vendor;
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +
| fname    | lname | addr     |
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +
| Peter    | Jones | 482 Rush St., Apt. 402 |
| Bernice   | Smith | 916 Maple Dr.   |
| Grace    | Peterson | 16055 Seminole Ave. |
| Walter   | Brown | 8602 1st St.   |
| ReddyParts, Inc. |   | 38 Industrial Blvd. |
| Parts - to - go, Ltd. |   | 213B Commerce Park. |
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +

如果想选择所有记录,包括重复的,请ALL的第一个UNION关键字:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mysql> SELECT fname, lname, addr FROM prospect
- > UNION ALL
- > SELECT first_name, last_name, address FROM customer
- > UNION
- > SELECT company, '', street FROM vendor;
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +
| fname    | lname | addr     |
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +
| Peter    | Jones | 482 Rush St., Apt. 402 |
| Bernice   | Smith | 916 Maple Dr.   |
| Grace    | Peterson | 16055 Seminole Ave. |
| Bernice   | Smith | 916 Maple Dr.   |
| Walter   | Brown | 8602 1st St.   |
| ReddyParts, Inc. |   | 38 Industrial Blvd. |
| Parts - to - go, Ltd. |   | 213B Commerce Park. |
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - +

这篇关于MYsql的UNION使用 构造结果集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1116885

相关文章

SQL Server 查询数据库及数据文件大小的方法

《SQLServer查询数据库及数据文件大小的方法》文章介绍了查询数据库大小的SQL方法及存储过程实现,涵盖当前数据库、所有数据库的总大小及文件明细,本文结合实例代码给大家介绍的非常详细,感兴趣的... 目录1. 直接使用SQL1.1 查询当前数据库大小1.2 查询所有数据库的大小1.3 查询每个数据库的详

python之uv使用详解

《python之uv使用详解》文章介绍uv在Ubuntu上用于Python项目管理,涵盖安装、初始化、依赖管理、运行调试及Docker应用,强调CI中使用--locked确保依赖一致性... 目录安装与更新standalonepip 安装创建php以及初始化项目依赖管理uv run直接在命令行运行pytho

MySQL中REPLACE函数与语句举例详解

《MySQL中REPLACE函数与语句举例详解》在MySQL中REPLACE函数是一个用于处理字符串的强大工具,它的主要功能是替换字符串中的某些子字符串,:本文主要介绍MySQL中REPLACE函... 目录一、REPLACE()函数语法:参数说明:功能说明:示例:二、REPLACE INTO语句语法:参数

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Kotlin 枚举类使用举例

《Kotlin枚举类使用举例》枚举类(EnumClasses)是Kotlin中用于定义固定集合值的特殊类,它表示一组命名的常量,每个枚举常量都是该类的单例实例,接下来通过本文给大家介绍Kotl... 目录一、编程枚举类核心概念二、基础语法与特性1. 基本定义2. 带参数的枚举3. 实现接口4. 内置属性三、

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

Java List 使用举例(从入门到精通)

《JavaList使用举例(从入门到精通)》本文系统讲解JavaList,涵盖基础概念、核心特性、常用实现(如ArrayList、LinkedList)及性能对比,介绍创建、操作、遍历方法,结合实... 目录一、List 基础概念1.1 什么是 List?1.2 List 的核心特性1.3 List 家族成

Go语言使用Gin处理路由参数和查询参数

《Go语言使用Gin处理路由参数和查询参数》在WebAPI开发中,处理路由参数(PathParameter)和查询参数(QueryParameter)是非常常见的需求,下面我们就来看看Go语言... 目录一、路由参数 vs 查询参数二、Gin 获取路由参数和查询参数三、示例代码四、运行与测试1. 测试编程路

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点