union可以用来连接两个不相关的表, 例如下面的两个表
China:
| E_ID | E_Name |
|---|---|
| 01 | Zhang, Hua |
| 02 | Wang, Wei |
| 03 | Carter, Thomas |
| 04 | Yang, Ming |
USA:
| E_ID | E_Name |
|---|---|
| 01 | Adams, John |
| 02 | Bush, George |
| 03 | Carter, Thomas |
| 04 | Gates, Bill |
如果两个表中没有类似于外键之类的东西,没什么联系的列, 又想把这两个表一起显示出来,可以用
select * from china union select * from usa;
union通常是连接的两个表的显示结果. 这个语句的显示结果是
| E_Name |
|---|
| Zhang, Hua |
| Wang, Wei |
| Carter, Thomas |
| Yang, Ming |
| Adams, John |
| Bush, George |
| Gates, Bill |
还有一种是union all, 这个关键字是允许显示相同的结果, 例如上面两个表china 和 usa中, 都有一条相同的记录03, Carter Thomas, 如果这个时候用union all的结果就会显示
| E_Name |
|---|
| Zhang, Hua |
| Wang, Wei |
| Carter, Thomas |
| Yang, Ming |
| Adams, John |
| Bush, George |
| Carter, Thomas |
| Gates, Bill |
浙公网安备 33010602011771号