9. 表的内连和外连
目录
9.1 内连接
9.2 外连接
9.2.1 左外连接
9.2.1 右外连接
重点导图:
表的内连和外连(重点)表的连接分为 内连 和 外连。
9.1 内连接
内连接实际上就是利用 where子句对两种表形成的 笛卡儿积进行筛选,我们前面学习的查询都是内连接,也是在开发过程中使用的最多的连接查询。
语法 :select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;
备注:前面学习的都是内连接。
案例:显示SMITH的名字和部门名称
- 之前的写法: 从两个表中提取数据然后where进行筛选
- 用标准的内连接写法 EMP inner join DEPT on
select ename, dname from EMP inner join DEPT on EMP.deptno=DEPT.deptno and ename='SMITH';
9.2 外连接
外连接分为左外连接和右外连接。
与内连接只返回匹配条件的记录不同,外连接会保留至少一个表中的所有记录,即使另一个表中没有匹配项。
9.2.1 左外连接
如果联合查询,左侧的表完全显示我们就说是左外连接。
语法 :select 字段名 from 表名1 left join 表名2 on 连接条件
9.2.1 右外连接
如果联合查询,右侧的表完全显示我们就说是右外连接。
语法 :select 字段 from 表名1 right join 表名2 on 连接条件;
案例:查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来 -> 内连 与 左外连接/右外连接
- 首先, 两张表的内容如下:
- 我们看看之前的内连接(左右的id都必须得有):
- 我们再来看看左连接 -> 左边的表格必须都得有
- 我们再来看看右连接 -> 右边的表格必须都得有