千家信息网

Oracle 内、外连接

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,一、Oracle连接类型☆说明:按照自己的理解划分的类型,并不是官方定义。1、内连接①等值连接②非等值连接③自然连接2、外连接①左外连接②右外连接③全外连接二、表数据准备t表字段a字段b1182283
千家信息网最后更新 2024年11月23日Oracle 内、外连接

一、Oracle连接类型

☆说明:按照自己的理解划分的类型,并不是官方定义。

1、内连接

①等值连接

②非等值连接

③自然连接

2、外连接

①左外连接

②右外连接

③全外连接

二、表数据准备

t表
字段a字段b
118
228
338
4NULL
t1表
字段x字段y
19
28
37

三、内连接

1、内连接是通过inner join进行多表关联,展示查询结果,示例如下:

SQL>select * from t inner join t1 on t.a=t1.x;

效果展示:

说明:通过t表inner join t1表,我们得到了上图的展示效果。

2、同样实现上图中的查询结果,我们还可以利用等值连接的方式实现

SQL>select * from t,t1 where t.a=t1.x;

3、inner join可以简化为join,但是实际使用中不建议这样书写,因为可读性不高。

4、通俗的理解是等值连接、非等值连接、自然连接都是内连接这个大范畴的具体表现形式。

5、不等值连接可以用where和inner join两种方式实现

SQL>select * from t inner join t1 on t.a<>t1.x;

SQL>select * from t,t1 where t.a<>t1.x;
上面这两句sql的展示结果是相同的。

6、自连接(self join)是SQL语句中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据。

例如:select * from employee worker,employee manger where worker.id=manger.id

四、外连接

1、左外连接:通过关键字left join实现,全写是left out join,实际操作过程中一般写作left join,还可以通过在右侧连接值后加(+)来代替,左连接的意思是两表关联,显示查询数目以左表为准,但是约束受到右表的影响,对于不符合等值的情况,用NULL代替,如下例:

说明:首先通过等值连接,正常把前3行数据关联显示出来,之所以显示第4行是因为sql语句是左连接,正如我们所述,数据展示条数以左表为准,但是不符合要求的统统用NULL进行了填充。

2、右连接:与左连接相反,核心思想相同,只要熟练掌握左连接,右连接自然无师自通。

3、关于(+)使用的注意事项:

(+)操作符只能出现在where子句中,并且不能与outer join语法同时使用。

当使用(+)操作符执行外连接时,如果在where子句中包含有多个条件,则必须在所有条件中都包含(+)操作符

(+)操作符只适用于列,而不能用在表达式上。

(+)操作符不能与or和in操作符一起使用。

(+)操作符只能用于实现左外连接和右外连接,而不能用于实现完全外连接。

4、全外连接:通过full join关键字连接实现,左边和右表都不受限制,两表都不满足条件的情况都用NULL填充,全外连接不支持(+)这种写法,即不能在左表和右表两边都写(+)。

SQL> select * from t full join t1 on t.a=t1.x;

操作符 字段 数据 方式 条件 结果 自然 关联 查询 相同 上图 关键 关键字 子句 实际 情况 效果 类型 语句 熟练 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全宣传主题党日活动 吉林软件开发培训学校 专科网络技术就业 传统网络安全排行 手机时间同步服务器设置 服务器怎么安装虚拟机 DS服务器端口不是9943 做研究 软件开发 电力网络安全招标 服务器moc是什么意思 买的云服务器可以自己换系统吗 应用引擎是服务器 服务器虚拟化产品比较 中国联通宽带服务器地址 软件开发工作量估算模板 软件开发的内容要交税嘛 网络安全隐患排查及整治工作方案 幼儿园校园网络安全教案 女人见到日本人托服务器要不然 好玩吧类似趣步软件开发 HP服务器拆箱有一根线干嘛用的 4k纸网络安全手抄报初一 服务器运行网站 小公司服务器交换机怎么运维 查看当前数据库用户的权限 官方回应王者荣耀服务器崩溃人 计算机网络安全专业如何 木马劫持ie核心数据库 我的世界服务器出现登录怎么登录 我的世界神秘时代服务器
0