外连接

外连接

外连接则扩充了内连接的功能,会把内连接中删除表源中的一些保留下来,由于保留下来的行不同,把外连接分为左外连接、右外连接和全外连接这3种连接。

1.左外连接

左外连接保留了第一个表的所有行,但只包含第二个表与第一表匹配的行。第二个表相应的空行被放入NULL值。

左外连接的语法:

use student

SELECT fieldlist FROM table1 left join table2 ON table1.column=table2.column

下面把“student”表和“grade”表左外连接,第一个表“student”有不满足连接条件的行。在查询分析器中输入的SQL语句如下:

use student



select * from student left join grade on student.学号=grade.学号

 

实现的过程如图1所示。

2.右外连接

右外连接保留了第二个表的所有行,但只包含第一个表与第二个表匹配的行。第一个表相应空行被入NULL值。

外连接

图1左外连接

右外连接的语法:

use student

SELECT fieldlist FROM table1 right join table2 ON table1.column=table2.column

下面把“grade”表和“course”表右外连接,第二个表“course”有不满足连接条件的行。在查询分析器中输入的SQL语句如下:

use student

select * from grade right join course on course.课程代号=grade.课程代号

实现的过程如图2所示。

外连接

图2右外连接

3.全外连接

全外连接会把两个表所有的行都显示在结果表中。

全外连接的语法:

use student

SELECT fieldlist FROM table1 full join table2 ON table1.column=table2.column

把“grade”表和“course”表实现全连接,两个表都有不满足连接条件的行。在查询分析器中输入的SQL语句如下:

use student

select * from grade full join course on course.课程代号=grade.课程代号

实现的过程如图3所示。

外连接

图3全外连接

你可能感兴趣的:(外连接)