oracle中常用连接之我见

2024-05-11 00:08
文章标签 oracle 连接 常用 之我见

本文主要是介绍oracle中常用连接之我见,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

测试脚本:

创建左表:

createtable L as
select'left_1'as str,'1'as v from dual
unionall
select'left_2'as str,'2'as v from dual
unionall
select'left_3'as str,'3'as v from dual
unionall
select'left_4'as str,'4'as v from dual;

创建右表:

createtable R as
select'right_3'as str,'3'as v,1as status from dual
unionall
select'right_4'as str,'3'as v ,0as status from dual
unionall
select'right_5'as str,'4'as v ,0as status from dual
unionall
select'right_6'as str,'5'as v ,0as status from dual;

1. 内连接

定义:就是2张表的相关联的字段进行连接。

特点:该方式返回两张表相匹配的数据。

语句:

select l.str as left_str, r.str as right_strfrom Linnerjoin Ron L.v = R.vorderby1, 2;
等价于:

select l.str as left_str, r.str as right_strfrom L, Rwhere L.v = R.vorderby1, 2;
运行结果:


2. 左连接

定义:就是2张表中左表是主表,相关联的字段中,主表的所有字段全部显示出来,另一表只返回一部分数据。

特点:该方式的左表是主表,左表中返回所有的数据,右表中只返回与左表匹配的数据。

语句:

select l.str as left_str, r.str as right_strfrom L leftjoin Ron L.v = R.vorderby1, 2;
等价于:

select l.str as left_str, r.str as right_strfrom L, Rwhere L.v = R.v(+)orderby1, 2;

运行结果:


3. 右连接

定义:就是2张表中右表是主表,相关联的字段中,主表的所有字段全部显示出来,另一表只返回一部分数据。

特点:该方式的右表是主表,右表中返回所有的数据,左表中只返回与左表匹配的数据。

语句:

select l.str as left_str, r.str as right_strfrom L rightjoin Ron L.v = R.vorderby1, 2;
等价于:

select l.str as left_str, r.str as right_strfrom L, Rwhere L.v(+) = R.vorderby1, 2;

运行结果:


4.  全连接

定义:就是2张表中,相关联的字段中,所有的字段全部显示出来。

特点:该方式的左右表中返回所有的数据,但只有匹配的数据显示在同一行,非匹配的数据行只显示一个表中的数据。

语句:

select l.str as left_str, r.str as right_strfrom L fulljoin Ron L.v = R.vorderby1, 2;
等价于:

select l.str as left_str, r.str as right_strfrom L, Rwhere L.v = R.v(+)
union
select l.str as left_str, r.str as right_strfrom L, Rwhere L.v(+) = R.vorderby1, 2;
运行结果:



这篇关于oracle中常用连接之我见的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977945

相关文章

Spring Boot中WebSocket常用使用方法详解

《SpringBoot中WebSocket常用使用方法详解》本文从WebSocket的基础概念出发,详细介绍了SpringBoot集成WebSocket的步骤,并重点讲解了常用的使用方法,包括简单消... 目录一、WebSocket基础概念1.1 什么是WebSocket1.2 WebSocket与HTTP

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

Oracle 数据库数据操作如何精通 INSERT, UPDATE, DELETE

《Oracle数据库数据操作如何精通INSERT,UPDATE,DELETE》在Oracle数据库中,对表内数据进行增加、修改和删除操作是通过数据操作语言来完成的,下面给大家介绍Oracle数... 目录思维导图一、插入数据 (INSERT)1.1 插入单行数据,指定所有列的值语法:1.2 插入单行数据,指

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

Python常用命令提示符使用方法详解

《Python常用命令提示符使用方法详解》在学习python的过程中,我们需要用到命令提示符(CMD)进行环境的配置,:本文主要介绍Python常用命令提示符使用方法的相关资料,文中通过代码介绍的... 目录一、python环境基础命令【Windows】1、检查Python是否安装2、 查看Python的安

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用