本文主要是介绍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使用 构造结果集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!