mysql合并表

有如下两张表

a
+------+------+---------+
| uid | name | addtime |
+------+------+---------+
| 1 | tom | 2001 |
| 2 | jack | 2002 |
| 3 | alex | 2003 |
+------+------+---------+ b
+------+-------+---------+
| uid | title | addtime |
+------+-------+---------+
| 1 | rain | 2004 |
| 2 | snow | 2005 |
| 3 | wind | 2006 |
+------+-------+---------+

join是将两个表横向合并,就是通过on的条件将一个表追加在另一个表后边,新表相对于原来的两个表字段增多了。

mysql> select * from b left join a on b.uid = a.uid;
+------+-------+---------+------+------+---------+
| uid | title | addtime | uid | name | addtime |
+------+-------+---------+------+------+---------+
| 1 | rain | 2004 | 1 | tom | 2001 |
| 2 | snow | 2005 | 2 | jack | 2002 |
| 3 | wind | 2006 | 3 | alex | 2003 |
+------+-------+---------+------+------+---------+ 

union是将两个表竖向合并,新表字段不会多于原表。

mysql> select * from b union select * from a;
+------+-------+---------+
| uid | title | addtime |
+------+-------+---------+
| 1 | rain | 2004 |
| 2 | snow | 2005 |
| 3 | wind | 2006 |
| 1 | tom | 2001 |
| 2 | jack | 2002 |
| 3 | alex | 2003 |
+------+-------+---------+ mysql> select title,addtime from b union select name,addtime from a;
+-------+---------+
| title | addtime |
+-------+---------+
| rain | 2004 |
| snow | 2005 |
| wind | 2006 |
| tom | 2001 |
| jack | 2002 |
| alex | 2003 |
+-------+---------+

参考:http://bbs.csdn.net/topics/390410010

上一篇:tomcat启动问题 严重: End event threw exception


下一篇:利用iptables防火墙允许1521端口被连接