淮北网站制作,怎么向国外打广告,网站开发营业执照申请,仙桃住房和城乡建设部网站文章目录内连接 inner join示例外连接 outer joinleft outer join 左外连接示例right outer join 右外连接示例full outer join 全外连接示例外连接总结内连接 inner join
内连接又称为等值连接#xff0c;语法结构#xff1a;
表1 inner join 表2 on 条件 -- inner可以省略…
文章目录内连接 inner join示例外连接 outer joinleft outer join 左外连接示例right outer join 右外连接示例full outer join 全外连接示例外连接总结内连接 inner join
内连接又称为等值连接语法结构
表1 inner join 表2 on 条件 -- inner可以省略表 1 叫做驱动表参照表/匹配表 , 表 2 叫做被匹配表被参照表等值连接方式下 , 驱动表和被匹配表位置可以互换 , 不影响结果集执行方式无论谁做驱动表 , 都会遍历驱动表 , 在被匹配表中查找匹配数据不匹配的数据舍弃
PS.外键所在的表叫子表或者从表主键所在的表叫父表或者主表所谓驱动表就是必须遍历的表
示例
select ename , dname , location
from emp_xxx t1 join dept_xxx t2 --t1 驱动表 , t2 被匹配表
on t1.deptno t2.deptno ;上述连接的方式可以称之为“显式内连接”下面这种方式称之为“隐式内连接”
select ename, dname, location
from emp_xxx t1,dept_xxx t2
where t1.deptno t2.deptno;外连接 outer join
left outer join 左外连接
左外连接的语法结构
表 1 left outer join 表 2 on 条件 -- outer可以省略1.左外连接以左边的表为驱动表并且左边的表的记录必须全部保留所以左边的表亦称之为保留表。 2.驱动表和被匹配表不能互换
示例
下面的例子中驱动表emp_xxx被匹配表dept_xxx结果集中包括有部门的员工和没有部门的员工
select e.empno , ename , d.deptno , d.dname , d.location
from emp_xxx e left outer join dept_xxx d on e.deptno d.deptno ;right outer join 右外连接
右外连接语法结构
表 1 right outer join 表 2 on 条件 -- outer可以省略1.右外连接以右边的表为驱动表并且右边的表的记录必须全部保留所以右边的表又称之为保留表 2.驱动表和被匹配表不能互换
示例
下面的语句中驱动表emp_xxx被匹配表dept_xxx结果集中包括有部门的员工和没有部门的员工
select e.empno , ename , d.deptno , d.dname , d.location from dept_xxx d right outer join emp_xxx e
on e.deptno d.deptno ;full outer join 全外连接
全外连接语法结构
表 1 full outer join 表 2 on 条件1.全外连接左右两张表互为驱动表和被匹配表即两张表都会遍历一遍 2.全外连接可以把两个表中的记录全部查出来。左右两张表的记录全部都保留即两张表都是保留表 3.全外连接的结果集 内连接的结果集 两张表找不到匹配数据的记录对应的被匹配表的字段为空值
示例
select e.empno , e.ename , d.deptno , d.dname
from emp_xxx e full outer join dept_xxx d on e.deptno d.deptno ;外连接总结
1.如果驱动表在被匹配表中找不到匹配记录 , 则匹配一行空行 2.外连接的结果集 内连接的结果集 驱动表在被匹配表中匹配不上的记录对应被匹配表的字段都是空值 3.外连接的本质是驱动表中的数据一个都不能少 4.写外连接的习惯
a.先写内连接
from 表1 join 表2 on 条件b.再确定谁做驱动表从而决定写 left、right、full 关键是确定谁做驱动表