在MySQL中使用联邦的详细说明
如果要在其他几个表中选择一行或从单个表中作为单独的结果集进行一些集会,可以使用的联合。联盟可以用于超过mysql4.0.this部分显示如何使用它。
假设有两个表,潜在客户和实际客户的列表。在所有三个表供应商购买材料和合并的姓名和地址创建一个邮件list.union提供了一种方法来做这件事。假设三表有以下内容:
从展望中选择*;
+ + + + --------- ------- ------------------------
地址| | | | fname lname
+ + + + --------- ------- ------------------------
|彼得|琼斯|冲街482号402单元,|
Bernice Smith博士| 916枫| | |
+ + + + --------- ------- ------------------------
从客户选择*;
+ + + + ----------- ------------ ---------------------
last_name first_name地址| | | |
+ + + + ----------- ------------ ---------------------
| Peterson Grace诺尔大街16055 | | |
|史密斯伯尼斯916枫|博士| |
|布朗沃尔特8602第一圣| | |
+ + + + ----------- ------------ ---------------------
从供应商选择*;
------------------- --------------------- + + +
|公司|街|
------------------- --------------------- + + +
| reddyparts,公司38工业大道。| |
|部分,公司213b商务公园。| |
------------------- --------------------- + + +
这三个表是否有不同的列名并不重要。下面的查询说明如何在一个吃水下选择三个表的名称和地址:
MySQL >选择fname lname、地址从前景
->联盟
选择first_name last_name,地址,客户
->联盟
选择,公司,街道,从供应商;
+ + + + ------------------- ---------- ------------------------
地址| | | | fname lname
+ + + + ------------------- ---------- ------------------------
|彼得|琼斯|冲街482号402单元,|
Bernice Smith博士| 916枫| | |
| Grace Peterson诺尔大街16055 | | |
|沃尔特·布朗8602第一圣| | |
| reddyparts,公司| | 38工业大道。|
|部分,公司213b商务公园。| | |
+ + + + ------------------- ---------- ------------------------
如果你想选择所有的记录,包括重复,所有的第一个联合关键字:
MySQL >选择fname lname、地址从前景
联合所有
选择first_name last_name,地址,客户
->联盟
选择,公司,街道,从供应商;
+ + + + ------------------- ---------- ------------------------
地址| | | | fname lname
+ + + + ------------------- ---------- ------------------------
|彼得|琼斯|冲街482号402单元,|
Bernice Smith博士| 916枫| | |
| Grace Peterson诺尔大街16055 | | |
Bernice Smith博士| 916枫| | |
|沃尔特·布朗8602第一圣| | |
| reddyparts,公司| | 38工业大道。|
|部分,公司213b商务公园。| | |
+ + + + ------------------- ---------- ------------------------