表一 | ||
id | name | age |
1 | 张三 | 20 |
2 | 李四 | 22 |
3 | 王五 | 25 |
4 | 赵六 | 23 |
5 | 张三 | 22 |
6 | 王强 | 21 |
表二 | |||
id | name | age | brithday |
1 | 张三 | 30 | 1983 |
2 | 杨七 | 22 | 1991 |
3 | 周鹏 | 25 | 1988 |
如果想将两张表合并,并显示表二的所有数据,就需要用到union
SELECT t1.id , t1.name , t1.age , null FROM t1 UNION SELECT t2.id , t2.name , t2.age , t2.brithday FROM t2
也可以使用union all 方法,排序的结果不一样,union all 就是简单的将两张表合并,并不进行排序操作。
union 的特点是将表中的一列进行排序,默认是第一列,如果想让第二列进行排序,代码修改如下
SELECT t1.id , t1.name n, t1.age , null FROM t1 UNION SELECT t2.id , t2.name n, t2.age , t2.brithday FROM t2 ORDER BY n