广告
返回顶部
首页 > 资讯 > 数据库 >Oracle中连接查询怎么运用??
  • 396
分享到

Oracle中连接查询怎么运用??

Oracle中连接查询怎么运用?? 2014-08-13 22:08:41 396人浏览 无得
摘要

welcome to 煌sir详解oracle 篇章,让我们继续一起学习吧~~  查询--连接查询 一. 基础语法 笛卡尔积:两个表乘积,所有的数据最大集(开发无用) select * from A , B;

Oracle中连接查询怎么运用??

welcome to 煌sir详解oracle 篇章,让我们继续一起学习吧~~ 

查询--连接查询

一. 基础语法

笛卡尔积:两个表乘积,所有的数据最大集(开发无用)

select * from A , B;

 

内连接

  • 隐式内连接

select * from A , B where a.id = b.aid;

 

  • 显示内连接

select * from A
inner join B on a.id = b.aid;

 

  • 外链接
  • 左外连接:查询左表(A)所有数据,如果条件成立显示右边(B)的数据,否则显示null

select * from A
left outer join B on a.id = b.aid

 

  • 右外连接:查询右表(B)所有数据,如果条件成立显示左边(A)的数据,否则显示null

select * from A
right outer join B on a.id = b.aid

 

三:内连接查询实用:

--1查询显示业主编号,业主名称,业主类型名称
--隐式内连接
select ow.id 业主编号,ow.name 业主名称,ot.name 业主类型名称 from t_owners ow,t_ownertype ot 
where ow.ownertypeid=ot.id ;

--显示内连接
select ow.id 业主编号,ow.name 业主名称,ot.name 业主类型名称 from t_owners ow
inner join t_ownertype ot on ow.ownertypeid = ot.id ;




--2查询显示业主编号,业主名称、地址和业主类型


--隐式内连接
select ow.id as 编号,ow.name as 业主名称,a.name as 地址名称,ot.name as 业主类型名称
 from t_owners ow,t_ownertype ot ,t_address a
where ow.ownertypeid=ot.id and ow.addressid=a.id;


--显示内连接
select ow.id as 编号,ow.name as 业主名称,a.name as 地址名称,ot.name as 业主类型名称
 from t_owners ow inner join t_address a on ow.addressid=a.id 
inner join t_ownertype ot on ow.ownertypeid=ot.id;




--3查询显示业主编号、业主名称、地址、所属区域、业主分类
--隐式内连接
select ow.id 业主编号,ow.name 业主名称,a.name 地址,ar.name 所属区域,ot.name 业主分类 
from t_owners ow,t_ownertype ot, t_address a, t_area ar 
where ow.ownertypeid=ot.id and ow.addressid=a.id and a.areaid=ar.id ;


--显示内连接
select ow.id 业主编号,ow.name 业主名称,a.name 地址,ar.name 所属区域,ot.name 业主分类 
from t_owners ow inner join t_ownertype ot on ow.ownertypeid=ot.id
inner join t_address a on ow.addressid=a.id
inner join t_area ar on a.areaid=ar.id;





--4查询显示业主编号、业主名称、地址、所属区域、收费员、业主分类
--隐式内连接
select ow.id 业主编号,ow.name 业主名称,ad.name 地址,ar.name 所属区域, op.name 收费员,ot.name 业主分类
 from t_owners ow ,t_address ad,t_area ar ,t_operator op ,t_ownertype ot
where ow.addressid=ad.id and ad.areaid=ar.id and ad.operatorid=op.id   and ow.ownertypeid=ot.id ;


--显示内连接
select ow.id 业主编号,ow.name 业主名称,ad.name 地址,ar.name 所属区域, op.name 收费员,ot.name 业主分类
from t_owners ow inner join t_address ad on ow.addressid=ad.id
inner join t_area ar on ad.areaid=ar.id 
inner join t_operator op on ad.operatorid=op.id  
inner join t_ownertype ot on ow.ownertypeid=ot.id order by ow.id asc;

 

 

四. 左外连接

--需求:查询业主的账务记录,显示业主编号、名称、年、月、金额。如果此业主没有账务记录也要列出姓名。
select ow.id 业主编号,ow.name 名称,ac.year 年,ac.month 月,ac.money 金额 
from t_owners ow left outer join t_account ac 
on ow.id=ac.ownerid;


select ow.id 业主编号,ow.name 名称,ac.year 年,ac.month 月,ac.money 金额 
from t_owners ow left join t_account ac on ow.id=ac.ownerid;

 

Oracle 左外连接特殊用法(右边用+)

在内连接基础上,使用(+) 转换 左外连接

--oracle 左外连接 特殊用法:
select ow.id 业主编号,ow.name 名称,ac.year 年,ac.month 月,ac.money 金额 from t_owners ow, t_account ac where ow.id=ac.ownerid(+);
 

 

 

五.右外连接查询

--需求:查询业主的账务记录,显示业主编号、名称、年、月、金额。如果账务记录没有对应的业主信息,也要列出记录


select ow.id 业主编号,ow.name 名称,ac.year 年,ac.month 月,ac.money 金额 from t_owners ow right join  t_account ac  on ow.id=ac.ownerid;

 

 

Oracle 右外连接特殊用法(左边用+)

--oracle特殊语法
select ow.id 业主编号,ow.name 名称,ac.year 年,ac.month 月,ac.money 金额   from t_owners ow ,t_account ac where ow.id(+) =ac.ownerid;

 

 

小结:

内连接:

  • 隐式内连接

  • select * from 表1, 表2, .... where 表1.字段 = 表2.字段 and 连接条件

 

  • 显示内连接

select * from 表1
inner join 表2 on 表1.字段 = 表2.字段
inner join 表3 on 连接条件
.....

 

  • 外链接
  • 左外连接:查询左表(表1)的所有数据,条件成立显示右表(表2)数据,条件不成立显示null

select * from 表1
left outer join 表2 on 表1.字段 = 表2.字段
....

 

  • 右外连接:查询右表(表2)的所有数据,条件成立显示左表(表1)数据,条件不成立显示null

select * from 表1
right outer join 表2 on 表1.字段 = 表2.字段
....

 

 

  • Oracle 外链接,将隐式内连接转换成对应外链接 (了解)

左外连接:

select * from 表1, 表2 
where 表1.字段 = 表2.字段(+)

 

右外连接:

select * from 表1, 表2 
where 表1.字段(+) = 表2.字段

 

 

 

看完恭喜你,又知道了一点点!!!

你知道的越多,不知道的越多! 

~感谢志同道合的你阅读,  你的支持是我学习的最大动力 ! 加油 ,陌生人一起努力,共勉!!

 

 

 

您可能感兴趣的文档:

--结束END--

本文标题: Oracle中连接查询怎么运用??

本文链接: https://www.lsjlt.com/news/6348.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle中连接查询怎么运用??
    welcome to 煌sir详解Oracle 篇章,让我们继续一起学习吧~~  查询--连接查询 一. 基础语法 笛卡尔积:两个表乘积,所有的数据最大集(开发无用) select * from A , B; ...
    99+
    2014-08-13
    Oracle中连接查询怎么运用??
  • oracle连接查询有什么用
    这篇文章主要介绍了oracle连接查询有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。连接查询是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。通过连接运...
    99+
    2023-06-28
  • 什么是oracle连接查询
    本篇内容主要讲解“什么是oracle连接查询”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是oracle连接查询”吧!Oracle连接查询Oracle连接查...
    99+
    2022-10-18
  • oracle怎么查询数据库连接数
    Oracle数据库中可以通过以下两种方式查询数据库连接数:1. 使用SQL语句查询V$SESSION视图:可以使用以下SQL语句查询...
    99+
    2023-09-22
    oracle 数据库
  • SQL Server中怎么连接查询
    SQL Server中怎么连接查询,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是连接查询呢?概念:根据两个表或多个表的列之间的关系,从这...
    99+
    2022-10-18
  • mysql外连接查询怎么用
    本篇内容主要讲解“mysql外连接查询怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql外连接查询怎么用”吧!说明外连接不仅返回符合连接和查询条件的数据行,还返回一些不符合条件的行。...
    99+
    2023-06-20
  • Linq中怎么实现连接查询
    今天就跟大家聊聊有关Linq中怎么实现连接查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Linq连接查询之前先建立两个查询:using (DataClassesData...
    99+
    2023-06-17
  • [学习笔记] Oracle运算符、连接符、结果去重、范围查询、模糊查询
    运算符 符号 解释 + 加法 - 减法 * 乘法 / 除法,结果是浮点数 = 等于 > 大于 = 大于或者等于 ...
    99+
    2014-10-27
    [学习笔记] Oracle运算符 连接符 结果去重 范围查询 模糊查询
  • 怎么在MySQL中实现连接查询
    本篇文章给大家分享的是有关怎么在MySQL中实现连接查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.内连接查询概要    &nbs...
    99+
    2023-06-15
  • python怎么查询mongodb连接数
    在Python中,可以使用`pymongo`库来连接和操作MongoDB数据库。要查询MongoDB的连接数,可以使用以下代码:``...
    99+
    2023-09-06
    mongodb python
  • mysql全连接和oracle全连接查询的区别是什么
    本篇内容介绍了“mysql全连接和oracle全连接查询的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学...
    99+
    2023-03-20
    mysql oracle
  • SQL中怎么实现多表连接查询
    本篇文章为大家展示了SQL中怎么实现多表连接查询,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.理论只要两个表的公共字段有匹配值,就将这两个表中的记录组合起来。个...
    99+
    2022-10-18
  • mysql中怎么实现多表连接查询
    这篇文章将为大家详细讲解有关mysql中怎么实现多表连接查询,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。代码如下:SELECT FId ...
    99+
    2022-10-18
  • MySql中的连接查询问题怎么解决
    本文小编为大家详细介绍“MySql中的连接查询问题怎么解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySql中的连接查询问题怎么解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。连接查询当进行多表连接查询...
    99+
    2023-07-05
  • 怎么在mysql中使用多个left join连接查询
    这期内容当中小编将会给大家带来有关怎么在mysql中使用多个left join连接查询,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。mysql查询时需要连接多个表时,比如...
    99+
    2022-10-18
  • Mariadb怎么实现多表连接查询
    这篇文章主要介绍“Mariadb怎么实现多表连接查询”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Mariadb怎么实现多表连接查询”文章能帮助大家解决问题。概念因为我们使用的是关系型数据库,每张表...
    99+
    2023-06-27
  • 怎么在oracle中查询操作子查询
    怎么在oracle中查询操作子查询?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、子查询语法SELECT select_l...
    99+
    2022-10-18
  • mysql中外连接与内连接查询有什么区别
    mysql中外连接与内连接查询有什么区别?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。左外连接左外连接的结果集包含左表的所有记录和右表中满足连接条件的记录,结果...
    99+
    2023-06-15
  • Mysql怎么查询数据库连接状态及连接信息
    本文小编为大家详细介绍“Mysql怎么查询数据库连接状态及连接信息”,内容详细,步骤清晰,细节处理妥当,希望这篇“Mysql怎么查询数据库连接状态及连接信息”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深...
    99+
    2023-04-19
    mysql 数据库
  • SQL Server中怎么实现多表连接查询功能
    SQL Server中怎么实现多表连接查询功能 ,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。具体代码如下所示:-- ...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作