有一张visits1表跟visits2表
1表
id,bookid,visits
1 1 23
2 2 162表
id,bookid,visits
1 1 13
2 3 43显示
bookid 表1.visits 表2.visits
1 23 13
2 16 null
3 null 43我要把所有的信息都显示出来,上面用条左连接可以做到,1表的信息显示,2表的显示null。
但如果我现在的信息是1表中没有,而在2表中有,那样可以用右连接做到。1表显示null,2表的信息显示。
我现在的表中有上面我说的两种情况,
1表
id,bookid,visits
1 1 23
2 2 162表
id,bookid,visits
1 1 13
2 3 43显示
bookid 表1.visits 表2.visits
1 23 13
2 16 null
3 null 43我要把所有的信息都显示出来,上面用条左连接可以做到,1表的信息显示,2表的显示null。
但如果我现在的信息是1表中没有,而在2表中有,那样可以用右连接做到。1表显示null,2表的信息显示。
我现在的表中有上面我说的两种情况,
LEFT JOIN
UNION
RIGHT JOIN
-> union
-> select a.bookid,b.visits,a.visits from visits2 a left join visits1 b on a.bookid=b.bookid;
+--------+------+------+
| bookid | v1 | v2 |
+--------+------+------+
| 1 | 23 | 13 |
| 2 | 16 | NULL |
| 3 | NULL | 43 |
+--------+------+------+
3 rows in set (0.00 sec)