左连接和右连接算是比较简单的概念,但是有时候突然会忘记,有时候想起概念,但是没有实践结果可供观看,感觉也不深刻,故此记录一下。

               左连接和右连接简单的说:左连接只影响右表,右连接只影响左表。

mysql> select * from stu1;
+------+----------+
| num  | name     |
+------+----------+
|    1 | zhangsan |
|    2 | lisi     |
+------+----------+
2 rows in set (0.00 sec)

mysql> select * from stu2;
+------+---------+
| num  | name    |
+------+---------+
|    1 | wangwu  |
|    3 | zhaoliu |
+------+---------+
2 rows in set (0.00 sec)

mysql> select * from stu1 left join stu2 on (stu1.num=stu2.num);
+------+----------+------+--------+
| num  | name     | num  | name   |
+------+----------+------+--------+
|    1 | zhangsan |    1 | wangwu |
|    2 | lisi     | NULL | NULL   |
+------+----------+------+--------+
2 rows in set (0.00 sec)
mysql> select * from stu1 right join stu2 on (stu1.num=stu2.num);
+------+----------+------+---------+
| num  | name     | num  | name    |
+------+----------+------+---------+
|    1 | zhangsan |    1 | wangwu  |
| NULL | NULL     |    3 | zhaoliu |
+------+----------+------+---------+
2 rows in set (0.00 sec)

stu1左连接stu2,左连接只影响右表(这里右表是stu2),则左表中的数据全部返回,右表中的数据只返回满足条件的。

stu1右连接stu2,右连接只影响左表(这里的左表是stu1),则右表中的数据全部返回,左表中的数据只返回满足条件的。

实验结果一目了然。