使用的数据库含有的数据如下
当使用左外联结的时候,以左边的表为标准,找到右边表中相应的对等元素,然后两行联结,如果右边表不包含相应的对等元素,此行对应的右边元素全为NULL。
SELECT * FROM student LEFT OUTER JOIN major ON student.no=major.no;
输出的结果为:
+---------+-------------+-------+---------+------+
| NO | name | grade | no | maj |
+---------+-------------+-------+---------+------+
| 2012001 | taoji | 78 | 2012001 | 高数 |
| 2012002 | zhouxiaojun | 89 | 2012002 | 英语 |
| 2012000 | hudahai | 99 | NULL | NULL |
+---------+-------------+-------+---------+------+
当使用右外联结的时候,则与左外联结完全相反。
SELECT * FROM student RIGHT OUTER JOIN major ON student.no=major.no;
输出的结果为:
+---------+-------------+-------+---------+------+
| NO | name | grade | no | maj |
+---------+-------------+-------+---------+------+
| 2012001 | taoji | 78 | 2012001 | 高数 |
| 2012002 | zhouxiaojun | 89 | 2012002 | 英语 |
| NULL | NULL | NULL | 2012003 | 物理 |
+---------+-------------+-------+---------+------+