Oracle篇 之 多表查询
一、概念
从多个表中查询数据时,需要在表和表间建立连接,一般使用主外键建立连接
二、连接种类
1.
等连接:连接条件使用等号
非等连接:连接条件使用等号以外的其它符号
2.
内连接:根据指定的连接条件进行连接查询,满足连接条件的数据才会出现在结果集(最常见的等值连接)
外连接:在内连接的基础上,将某个连接表不符合连接条件的记录加入结果集
3.自连接:自身表中的列关联自身表中的其它列
4.集合操作符
union:两个集合的并集,去掉重复内容
union all:两个集合的并集,重复内容取2次
minus:第一个集合减去和第二个集合相交的内容
intersect:两个集合的交集
三、连接查询操作
1).连接查询语法
select last_name,name
from s_emp,s_dept
where s_emp.dept_id=s_dept.id;
左外连接:A left outer join B-----中的(A为基准,遇到A中不符合条件的也加入, B中用null填充,包含左边表的全部行)
基本写法:
1. Select e.last_name,d.name
From s_emp e left outer join s_dept d
On e.dept_id=d.id;
Oracle特有写法:
2. Select e.last_name,d.name
From s_emp e ,s_dept d
Where e.dept_id(+)=d.id;
右外连接:A right outer join B -----(B为基准,遇到B中不符合条件的也加入 , A中用null填充,包含右边表的全部行)
全外连接(包含左、右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行)
查询所有员工名、员工部门名(员工没有分配部门、部门没有员工)?
select e.last_name,d.name
from s_emp e full outer join s_dept d
on e.dept_id=d.id;
select e.last_name,d.name
from s_emp e,s_dept d
where e.dept_id(+)=d.id(+); //Error,oracle没有全外连接特有写法
2)集合操作符
eg:
union:两个集合的并集,去掉重复内容
select e.last_name,d.name
from s_emp e,s_dept d
where e.dept_id=d.id(+)
union
select e.last_name,d.name
from s_emp e,s_dept d
where e.dept_id(+)=d.id;
Oracle篇 之 多表查询的更多相关文章
- Oracle数据库之单表查询
接着上一篇的分享,今天主要给大家分享的是关于数据中的单表查询,单表查询很基础,也很重要,但是任何一个初学者必须要掌握的姿势,单表查询就是对单个表进行操作,查询我们想要的数据.单表查询里面的内容也是比较 ...
- Oracle中的多表查询(笛卡尔积原理)
本次预计讲解的知识点 1. 多表查询的操作.限制.笛卡尔积的问题: 2. 统计函数及分组统计的操作: 3. 子查询的操作,并且结合限定查询.数据排序.多表查询.统计查询一起完成各个复杂查询的操作: 一 ...
- Oracle(2)之多表查询&子查询&集合运算
多表查询 笛卡尔积 同时查询多张表时,每张表的每条数据都要和其它表的每条数据做组合.如下栗子,我们发现产生的总记录数是 56 条,还发现 emp 表是 14 条,dept 表是 4 条,56 条正是 ...
- Oracle数据库之多表查询一
上一篇给大家介绍了数据的单表查询,相信大家对于单表的查询应该都有了一些了解.单表查询在数据库中的使用会有一些,但并不是很多,但是作为初学者,我们需要学习单表查询的思路.今天呢,我们为大家介绍一下数据库 ...
- Oracle笔记_多表查询
1 执行sql文件 @文件地址名 --执行某个sql文件: 2 多表查询 想要的数据不在同一张表,就需要多个表进行联查. 多表查询也叫做表连接查询,其中的where条件就是连接条件. 可以使用join ...
- Oracle数据库之七 多表查询
七.多表查询 对于查询在之前已经学过了简单查询.限定查询.查询排序,这些都属于 SQL 的标准语句,而上一章的单行函数,主要功能是为了弥补查询的不足. 而从多表查询开始就正式进入到了复杂查询部 ...
- oracle中的多表查询和子查询以及一些注意事项
多表查询就是使用两张表及其以上的查询.首先需要知道几个名词,笛卡尔积,内连接,外连接,子查询. 1)笛卡尔积 所谓笛卡尔积其实就是两张表数据的条数相乘得到的最后结果,例如表1有10条数据,表2有4条数 ...
- Oracle中的多表查询
多表查询 l 笛卡尔积: N*M l 使用关联字段消除笛卡尔积的多余数据: SELECT EMP.*,DEPT.DNAME,DEPT.LOC FROM EMP, DEPT WHERE EMP.DEPT ...
- MySQL数据库篇之单表查询
主要内容: 一.单表查询的语法 二.关键字的执行优先级 三.简单查询 四.where约束 五.分组查询 group by 六.having过滤 七.查询排序 order by 八.限制查询的记录数 l ...
随机推荐
- 每周分享五个 PyCharm 使用技巧(二)
这是 「PyCharm 技巧分享」系列的第二篇分享.由于上一篇文章得到了大家的一些赞同,所以今天又来给大家推荐一些我平时自己有用的小技巧,大家择需所取即可. 先声明下,并不保证对所有的人都是有帮助的, ...
- Windows环境下安装配置Mosquitto服务及入门操作介绍
关键字:在windows安装mosquitto,在mosquitto中配置日志,在mosquitto中配置用户账号密码 关于Mosquitto配置的资料网上还是有几篇的,但是看来看去,基本上都是基于L ...
- android 资源
在进行APP开发的过程当中,会用到许多资源,比如:图片,字符串等.现对android资源知识进行简单记录. 具体的详细信息及用法,点击查看官方文档 分类 一般android资源分为可直接访问 ...
- Spring中关于AOP的实践之Scheme方式实现通知
(刚开始写东西,不足之处还请批评指正) 关于AOP的通知编写方式有两种,使用Schema-baesd或者使用AspectJ方式,本篇主要介绍Schema-baesd方式的代码实现. (注:代码中没有添 ...
- java的设计模式 - 单例模式
java 面试中单例模式基本都是必考的,都有最推荐的方式,也不知道问来干嘛.下面记录一下 饿汉式(也不知道为何叫这个名字) public class Singleton { private stati ...
- :only-child和:only-of-type选择器的比较
:only-child 当元素是唯一的子元素,被选择. HTML代码: <body> <div class="x"> <div>第一个DIV&l ...
- 腾讯云申请SSL证书与Nginx配置Https
0x00 为什么要安装证书 信息传输的保密性 数据交换的完整性 信息的不可否认性 交易者身份确定性 如今各大浏览器厂商不断推进Https安全访问强制性要求,为了避免以后网站数据量增多时安装证书造成不必 ...
- ButterKnife的使用详解
ButterKnife的使用详解 1,概述: ButterKnife则是注解中相对简单易懂的很不错的开源框架. ButterKnife是目前常用的一种依托Java注解机制实现辅助代码生成的框架:用到了 ...
- 微信小程序中通过腾讯地图进行逆地址解析报错message: "请求来源未被授权, 此次请求来源域名:servicewechat.com"
在小程序中获取定位具体信息时,不要配置腾讯地图中的WebServiceAPI中的域名白名单什么的,域名配置直接在小程序后台中配置(就是这个货https://apis.map.qq.com), 千万千万 ...
- Simulink 产品说明
Simulink 产品说明 仿真和基于模型的设计 Simulink® 是一个模块图环境,用于多域仿真以及基于模型的设计.它支持系统级设计.仿真.自动代码生成以及嵌入式系统的连续测试和验证.Simuli ...