深圳软件测试学习:【数据库】-【oracle】-连接查询
•连接分类
内连接、外连接、自连接、交叉连接
内连接分类:
等值连接、不等值连接、自然连接
外连接分类:
左外连接、右外连接、全连接
一,内连接
内连接只显示出两张表都匹配的结果
Inner join (inner可以省略)
案例:查询员工信息及其部门信息
隐式内联接
Select * from emp e,dept d where e.deptno=d.deptno;
显式内连接:
Select * from emp e join dept d on e.deptno=d.deptno;
•等值连接:连接条件用“=”
•查询出所有员工信息以及所在部门信息:
•Select * from emp e join dept d
On e.deptno=d.deptno
例:要查询的是sales部门的所有员工信息以及所在的部门信息:
•Select * from emp e join dept d
•On e.deptno=d.deptno where d.dname=‘SALES’;
•(Select * from emp e join dept d
•不等值连接
就是连接条件不用“=”进行关联了,而是在一个范围内进行连接。
例:查询员工信息,以及薪资等级信息
Select * from emp e join salgrade s
On e.sal>=s.losal and e.sal<=s.hisal;
也可:
Select * from emp e join salgrade s
On e.sal between losal and hisal;
•自然连接(不需要写连接条件,用的非常少)
自然连接就是找到2张表根据一模一样的列名自然而然的连接
Natural join
查询所有员工信息以及员工所在部门信息
Select * from emp e natural join dept d;
•2、外连接
有条件的显示出表的内容
包括:
左外连接
右外连接
全连接
•1)左外连接(left join)
显示出左边表的全部字段和右边表中与左边匹配的字段,空的用null补齐
查询所有部门信息,以及部门下面的员工信息:
Select * from dept d left join emp e
On d.deptno=e.deptno;
2)右外连接(right join)
显示出右边表的全部字段和左边表中与右边匹配的字段,空的用null补齐
select * from student right join score on student.id=score.stuid
•3)全连接(full join)
显示两张表的全部字段
显示所有员工及部门信息
Select * from emp e full join dept d
On e.deptno=d.deptno;
•自连接查询:
也叫自身连接查询。可以将自身表的一个镜像当作另一个表来对待
————————————————
版权声明:本文为CSDN博主「qq1494648730」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/QQ1494648730/article/details/102914937