SQL Server之多表连接方式
作者:谢景,撰写时间:2019-2-13
SQL Server多表连接方式有四种,分别是:
1、INNER JOIN
解释:在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
eg:
SELECT 年级表.年级ID, 年级表.年级MC, 年级表.学院ID, 学院表.学院ID AS Expr1, 学院表.学院MC
FROM 年级表 INNER JOIN
学院表 ON 年级表.学院ID = 学院表.学院ID
// 年级表中必须有学院ID才会查询出来,也就是两张表中的任何数据没有对应另一张表的话就不会查询出来。
结果如图:
2、LEFT JOIN
解释:LEFT JOIN 关键字会从左表 (年级表) 那里返回所有的行,就算在右表 (学院表) 中没有匹配的行。
eg:
SELECT 年级表.年级ID, 年级表.年级MC, 学院表.学院MC
FROM 年级表 LEFT OUTER JOIN
学院表 ON 年级表.学院ID = 学院表.学院ID
3、RIGHT JOIN
解释:RIGHT JOIN 关键字会右表 (学院表) 那里返回所有的行,即使在左表 (年级) 中没有匹配的行。
eg:
SELECT 年级表.年级ID, 年级表.年级MC, 学院表.学院MC
FROM 年级表 RIGHT OUTER JOIN
学院表 ON 年级表.学院ID = 学院表.学院ID
4、FULL JOIN
解释:只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
eg:
SELECT 年级表.年级ID, 年级表.年级MC, 学院表.学院MC
FROM 年级表 FULL OUTER JOIN
学院表 ON 年级表.学院ID = 学院表.学院ID