前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深圳软件测试学习:【数据库】-【oracle】-连接查询--千锋

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

原创
作者头像
深圳java培训技术
修改2019-11-05 16:59:23
6980
修改2019-11-05 16:59:23
举报
文章被收录于专栏:深圳java培训

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

•自连接查询:

也叫自身连接查询。可以将自身表的一个镜像当作另一个表来对待

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档