实例表1 班级表
实例表2 学生表
1 INNER JOIN ON
SQL查询
SELECT a.classid,a.classname,b.name AS studentname
FROM tb_Class a INNER JOIN tb_Student b
ON a.classid=b.classid
查询结果
2 LEFT (OUTER) JOIN ON
SQL查询
SELECT a.classid,a.classname,b.name AS studentname
FROM tb_Class a LEFT OUTER JOIN tb_Student b
ON a.classid=b.classid
查询结果
3 RIGHT (OUTER) JOIN ON
SQL查询
SELECT a.classid,a.classname,b.name AS studentname
FROM tb_Class a RIGHT OUTER JOIN tb_Student b
ON a.classid=b.classid
查询结果
4 FULL (OUTER) JOIN ON
SQL查询
SELECT a.classid,a.classname,b.name AS studentname
FROM tb_Class a FULL OUTER JOIN tb_Student b
ON a.classid=b.classid
查询结果
知识点总结
INNER JOIN:内联接,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。
LEFT (OUTER) JOIN:左外连接,从左表那里返回所有的行以及右表中符合指定的匹配条件的行。
RIGHT(OUTER) JOIN:左外连接,从右表那里返回所有的行以及左表中符合指定的匹配条件的行。
FULL(OUTER) JOIN:完整外部联接返回左表和右表中的所有行。
在外联接中,当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值(见前面实例结果中的NULL)。