我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

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.字段

 

 

 

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

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

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

 

 

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

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

oracle连接查询有什么用

这篇文章主要介绍了oracle连接查询有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。连接查询是关系数据库中最主要的查询,主要包括内连接、外连接和交叉连接等。通过连接运
2023-06-28

oracle怎么查询用户最大连接数

可以通过查询v$resource_limit视图来查看Oracle数据库用户的最大连接数。具体的查询语句如下:SELECT resource_name, max_utilizationFROM v$resource_limitWHER
oracle怎么查询用户最大连接数
2024-03-12

oracle怎么查询数据库连接数

Oracle数据库中可以通过以下两种方式查询数据库连接数:1. 使用SQL语句查询V$SESSION视图:可以使用以下SQL语句查询当前数据库中的连接数:```sqlSELECT COUNT(*) AS CONNECTION_COUNTFR
2023-09-22

mysql外连接查询怎么用

本篇内容主要讲解“mysql外连接查询怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql外连接查询怎么用”吧!说明1、外连接不仅返回符合连接和查询条件的数据行,还返回一些不符合条件的
2023-06-20

oracle怎么查询dblink连接是否正常

要查询DBLink连接是否正常,可以使用以下步骤:1、打开Oracle SQL开发工具,登录到目标数据库。2、使用以下SQL语句查询DBLink连接状态:SELECT * FROM all_db_links;这将返回所有已创建的DBL
oracle怎么查询dblink连接是否正常
2024-03-14

Linq中怎么实现连接查询

今天就跟大家聊聊有关Linq中怎么实现连接查询,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Linq连接查询之前先建立两个查询:using (DataClassesDataConte
2023-06-17

怎么在MySQL中实现连接查询

本篇文章给大家分享的是有关怎么在MySQL中实现连接查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.内连接查询概要 内连接是应用程序中非常常见的连接操作,它一
2023-06-15

python怎么查询mongodb连接数

在Python中,可以使用`pymongo`库来连接和操作MongoDB数据库。要查询MongoDB的连接数,可以使用以下代码:```pythonfrom pymongo import MongoClient# 创建MongoDB的连接cl
2023-09-06

python怎么查询mongodb连接数

查询MongoDB连接数为了监视和优化数据库性能,掌握查询MongoDB连接数的方法至关重要。本文介绍了两种方法:使用mongostat-c命令获取实时连接数。在MongoDBShell中执行db.runCommand({netstat:1})命令。此外,还提供了高级选项,例如管道操作和APM工具,以获取更深入的见解。通过定期监视连接数并遵循最佳实践,可以确保MongoDB数据库的高性能和可靠性。
python怎么查询mongodb连接数
2024-04-12

MyBatis中怎么进行连接查询操作

在MyBatis中进行连接查询操作时,可以使用多种方式实现,包括使用Mapper XML文件中的标签和标签,或者使用注解方式进行连接查询。以下是一种使用Mapper XML文件的方式进行连接查询操作的示例:在Mapper XML文件中定义
MyBatis中怎么进行连接查询操作
2024-03-07

[学习笔记] Oracle运算符、连接符、结果去重、范围查询、模糊查询

运算符符号解释+加法-减法*乘法/除法,结果是浮点数=等于>大于=大于或者等于<=小于或者等于AND逻辑与OR逻辑或NOT逻辑非字符串连接符select '姓名:' || c.stuname || ', 课程:' || b.coursename || ', 成
[学习笔记] Oracle运算符、连接符、结果去重、范围查询、模糊查询
2014-10-27

mysql全连接和oracle全连接查询的区别是什么

本篇内容介绍了“mysql全连接和oracle全连接查询的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!mysql全连接和orac
2023-03-20

mysql怎么查询当前连接数

要查询当前 MySQL 数据库的连接数,可以执行以下 SQL 查询:SHOW STATUS WHERE `variable_name` = Threads_connected;这条 SQL 查询会返回当前连接到 MySQL 服务器的客户端
mysql怎么查询当前连接数
2024-04-09

oracle怎么查看连接用户日志

要查看Oracle连接用户的日志,可以使用以下方法:使用SQL*Plus工具连接到Oracle数据库。运行以下查询语句,以查看连接用户的日志:SELECT username, terminal, logon_time, action_na
oracle怎么查看连接用户日志
2024-02-29

编程热搜

目录