ITPub博客

首页 > 移动开发 > 移动测试 > 深圳软件测试学习:【数据库】-【oracle】-连接查询

深圳软件测试学习:【数据库】-【oracle】-连接查询

原创 移动测试 作者:andy888168 时间:2019-11-05 14:26:51 0 删除 编辑

深圳软件测试学习:【数据库】-【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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69947096/viewspace-2662696/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
莫安迪分享各类资讯文章

注册时间:2019-09-02

  • 博文量
    69
  • 访问量
    43789