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 |