IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> oracle(6) -> 正文阅读

[大数据]oracle(6)

4.2.2 等值连接

在笛卡尔积的基础上取条件列相同的值

查询员工信息和部门信息

查询员工姓名,部门名称

--查询每一个员工的信息以及所在部门的信息

--查询的数据:员工信息,部门信息

--数据来源:emp,dept

--链接条件:emp.deptno=dept.deptno

select * from emp e,dept d where e.deptno=d.deptno;

--查询出每一个有员工存在的部门的信息和部门的人数

--查询数据:部门信息,对应的部门的人数

--数据来源:dept,emp 经过计算

--链接条件:dept.deptno=人数对应的.deptno

--查询出有员工的部门的员工人数

select count(*),deptno from emp group by deptno;

select * from dept d, (select count(*),deptno from emp group by deptno) c where d.deptno=c.deptno;

4.2.3非等值连接

!=,>,<,<>,between and

查询员工姓名,工资及等级

--查询数据:ename,sal,hiredate,grade

--数据来源:emp,salgrade

--链接条件:emp.sal between losal and hisal

--查询员工表

select * from emp;

select * from salgrade;

select ename,sal,hiredate, grade

from emp e,salgrade s

where e.sal between losal and hisal;

4.2.4外连接

内连接使用比较运算符根据每个表共有的列的值匹配两个表中的行。

外连接可以是左向外连接,右向外连接或完整外部连接。

左向外连接的结果集包括LEFT OUTER 子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表均为空值。

右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。

看‘+’,带‘+’的表为从表,对立面的表为主表。

找出所有员工的姓名以及他上级的名称

找出所有上级的名称以及其手下员工的名称

找出所有部门的员工数及部门名称

找出所有员工的部门名称及员工数

--查询每一个部门的信息和部门人数

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(这是一个内连接) 注意:这个部门里面没有员工的时候不显示,

select * from dept;

select count(*),deptno from emp group by deptno;

select * from dept d,( select count(*),deptno from emp group by deptno;

)c where d.deptno=c.deptno;

~~~~~~~~~~~~~~~~~~·~~~~~~~~~~

(这是一个外连接)

注意:这个部门里面没有员工的时候是会占位显示为null

不用区分哪个是左连接还是哪个是右连接只需要知道主表既可

--外连接 主表 (只要在主表中出现的记录,就必须出现在结果中

注:不是主表的后面有’(+)’ 代表只是主表的附属品

--查看每一个部门的信息,对应的员工数

--查询的数据:部门信息,部门人数

--数据来源:dept d,(select count(*),deptno from emp group by deptno)c

--连接条件 d.deptno=c.deptno(+)

select *

?from dept d,( select count(*),deptno from emp group by deptno)c

where d.deptno =c.deptno(+);

处理为null的时候 ,当为null 显示为0

select d.deptno,dname, loc ,nvl(cc,0)from dept d,

(select count(*),deptno from emp group by deptno)c

where d.deptno=c.deptno(+);

--列出每一个有上级的员工的信息和上级信息

--列出所有的员工信息以及其上级的信息

--查询数据:员工信息,上级的信息

--数据来源:emp e,emp m

--连接条件:e.mgr=m.empno(+)

select * from emp e,emp m where e.mgr =m.empno(+);

4.2.5 自连接

特殊的等值连接 (来自于同一张表)

找出存在上级的员工姓名

--查询出每一个员工(有上级存在的员工)自己的信息,以及上级的信息

--查询的数据:员工信息,上级信息

--数据来源:emp e, emp m

--连接条件: e.mgr=m.empno

select * from emp e,emp m where e.mgr =m.empno;

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:54:27  更:2021-11-16 18:54:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:33:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码