T_SQL 多表查询 暑假第一天

1.

T_SQL多表查询的中的基本连接

select table1.a,table2.b from table1,table2 where table1.c=table2.c ; /select/注意每列要加上表明from后面要加上表名字 where 后面接连接条件

多表查询中的内部链接 和基本连接相同 INNER /INNER JOIN

SELECT A.X ,B.Y FROM TABLE1 A INNER JOIN TABLE2 B ON A.Z=B.Z ;// 内部链接 JOIN =INNER JOIN

例子 :

select A.班级名,B.姓名 FROM 班级信息 A INNER JOIN 学生信息 B ON A.班级编号=B.所属班级;
GO --批处理结束

2..多表连接的外连接 分为 左外连接 右外连接 全连接 LEFT OUTER JOIN ... 主表完全返回从表匹配的返回不匹配的 行用NULL填充

外连接与内连接的区别: 内连接是消除表与表之间不匹配的行

而外连接会返回from语句后面至少一个表的所有行 只要符合搜索条件 外连接的表有主从之分 主表每行数据去从表中匹配数据行

如果找到匹配行那么返回到查询结果中 如果没找到 那么从表中的行用NULL填充柄返回到查询结果中 右外连接也是这样 只是主从表的

选择不一样 。

左外连接 例子 select A.班级人数, B.联系方式 FROM 班级信息 A LEFT OUTER JOIN 辅导员信息 B ON A.辅导员=B.辅导员编号 and A.班级人数>20 ; GO

右外连接 例子 只要吧 LEFT OUTER JOIN 换成 RIGHT OUTER JOIN 基本功能一样

但是以上2中外连接都把主表的数据完全返回并且返回从表中的匹配数据 我们要求同时对主表从表进行 选择 那么就可以用全外连接

全外连接 FULL OUTER JOIN 对左右都进行匹配检测

你可能感兴趣的:(sql)