外连接包括 : (左外连接 右外连接 全连接 简称 为:左连接 右)
先上定义: /*左连接 left join on 返回左表的所有行,对应右表中数据有一对多的联系,则全部展示,右表中没有匹配 上 ,对应的列就是 null */
我们分步骤来看:
1.首先认真领悟左连接语法 : 其中谈到 左连接 会返回左表中的所有行
2.在做连接查询之前看清楚你所做的两个表,每个表中所包含的列,专业术语–表结构
例如:
左表:dbo.Department (三个字节)
右表dbo.Pepole 表(10个字节 字节就是列,表中一列一列的就是字节)
3.如果左表中的字节和右表是一对多的关系,在做左连接查询时,也也会将右表中相对应的列显示出来(例如:DepartmentId 这个列 在两张表中 都存在,这个字节影响dbo.Pepole整个 表,所以在查询时左右表都显示出来了。)
4.上查询语句:(语法:select * from 左表 left join 右表 on 左表.关键字=右表.关键字)
select *from dbo.Department u
left join dbo.People d
on u.DepartmentId = d.DepartmentId
5.结果图:
6.对于在查询结果中出现 NULL(空值)
根据左连接定义右表没有匹配的行将会返回 –NULL ,注意观察查询结构第一条 DepartmentId 为 1 ,DepartmentName是市场部,后面的 PepoleID 及以后列 都为 NULL ,这是因为左表在右表没有找到匹配数据,这个和 PepoleID 有关 就是啊,编号为1 的这个人 ,不包括在(DepartmentId 这是部门编号)所有部门编号中,所依返回空值 okkk
7.结尾: SQL语句 的查询难点就在于 子查询、多表连接查询,主外键关系,在多表查询时,发挥的作用,这个对于初学者来讲感到很头疼,没有关系的各位朋友,学习任何编程语言都会经历一个痛苦期,改错期,其实有的时候改错是一种非常重的学习,错误积累的越多,你对一些细微处就把控的更加准确,你只管坚持,不断克服困难,它就像我们去攀一座高峰,山顶的景色不会辜负每一个努力的人