1 区别
join 和 union 都可以被用来合并一张或多张表的数据,区别在于合并数据的方式。
简单来说,join 会将其他表的数据合并到新的列。两张表(表A和表B) join 生成表的同一行的列数据是表A与表B列数据的集合。
union 将其他表的数据合并到新的行。两张表(表A和表B) union 生成表的行数据是表A与表B行数据的集合。
2 例子
2.1 join
mysql> select * from roles;
+---------+------------+----------+
| role_id | occupation | camp |
+---------+------------+----------+
| 1 | warrior | alliance |
| 2 | paladin | alliance |
| 3 | rogue | Horde |
+---------+------------+----------+
3 rows in set (0.01 sec)
mysql>
mysql> select * from mount_info;
+----------+------------+---------+
| mount_id | mount_name | role_id |
+----------+------------+---------+
|