oracle 数据库 day0823

news2024/9/27 7:18:29

ok了家人们,今天学习了orcle的基本用法,一日不见,如隔三秋啊,

.多表联合查询

和之前学习的MySQL数据库一样的用法,

1.1 笛卡尔积查询
SELECT * FROM A表,B表

查询员工表和部门表

select * from emp e, dept d;
emp 表和 dept 表的记录数的乘积,我们称其为笛卡尔积。
1.2 内连接查询
1.2.1 隐式内连接
SELECT * FROM A表,B表 where 关联条件
使用内连接查询员工编号、员工姓名、部门名称
select emp.empno,emp.ename,dept.dname from emp,
dept where emp.deptno=dept.deptno;
select e.empno,e.ename,d.dname from emp e, dept
d where e.deptno=d.deptno;
select e.empno 员工编号,e.ename 员工名称,d.dname 部
门名称 from emp e, dept d where
e.deptno=d.deptno;
1.2.2 显示内连接
select * from A表 inner join B表 on 关联条件;
使用内连接查询员工编号、员工姓名、部门名称
select emp.empno,emp.ename,dept.dname from emp
inner join dept on emp.deptno=dept.deptno;
select e.empno,e.ename,d.dname from emp e inner
join dept d on e.deptno=d.deptno;
select e.empno 员工编号,e.ename 员工名称,d.dname 部
门名称 from emp e inner join dept d on
e.deptno=d.deptno;
1.3 外连接查询
1.3.1 左外连接查询
左外连接查询两张表条件都满足的数据,以及左边表 (A )
在的数据 ( 以左边表为主查询表 )
select [字段][*] from A表 left join B表 on 关联条
件
需求:使用左外连接将 dept 表作为主查询表,查询员工编
号、员工姓名、部门名称。
select emp.empno ,emp.ename, dept.dname from
dept left join emp on dept.deptno = emp.deptno;
select e.empno ,e.ename, d.dname from dept d
left join emp e on d.deptno = e.deptno;
select e.empno 员工编号,e.ename 员工名称, d.dname
部门 from dept d left join emp e on d.deptno =
e.deptno;
1.3.2 右外连接查询
右外连接查询两张表条件都满足的数据,以及右边表 (B )
在的数据 ( 以右边表为主查询表 )
select [字段][*] from A表 right join B表 on 关联条
件
需求:使用右外连接将 dept 表作为主查询表,查询员工编
号、员工姓名、部门名称。
select emp.empno ,emp.ename, dept.dname from emp
right join dept on dept.deptno = emp.deptno;
select e.empno ,e.ename, d.dname from emp e
right join dept d on d.deptno = e.deptno;
select e.empno 员工编号,e.ename 员工名称, d.dname
部门 from emp e right join dept d on d.deptno =
e.deptno;
1.3.3 自连接查询
自连接其实就是站在不同的角度把一张表看成多张表。
需求:查询出员工姓名,员工领导姓名
select e1.ename, e2.ename from emp e1, emp e2
where e1.mgr = e2.empno;
查询出员工姓名,员工部门名称,员工领导姓名,员工领
导部门名称
select e1.ename, d1.dname, e2.ename, d2.dname
from emp e1, emp e2, dept d1, dept d2
where e1.mgr = e2.empno
and e1.deptno=d1.deptno
and e2.deptno=d2.deptno;
1.4 子查询
1.4.1 子查询返回一个值
需求:查询出工资和 WARD 一样的员工信息
select * from emp where sal in
(select sal from emp where ename = 'WARD')
1.4.2 子查询返回一个集合
需求:查询出工资和 10 号部门任意员工一样的员工信息
select * from emp where sal in
(select sal from emp where deptno = 10);
1.4.3 子查询返回一张表
需求:查询出每个部门最低工资,和最低工资员工姓名,
和该员工所在部门名称
-- 先查询出每个部门最低工资
select deptno, min(sal) msal
from emp
group by deptno;
select t.deptno, t.msal, e.ename, d.dname
from (select deptno, min(sal) msal
from emp
group by deptno) t, emp e, dept d
where t.deptno = e.deptno
and t.msal = e.sal
and e.deptno = d.deptno;

.Rownum与分页查询

rownum 行号:当我们做 select 操作的时候,每查询出一行记
录,就会在该行上加上一个行号,行号从 1 开始,依次递增,
不能跳着走。 rownum 不支持大于号,只支持小于号
需求:找到员工表中工资最高的前三名
select rownum,e.* from emp e;
-- 降序排序
select rownum,e.* from emp e order by sal desc;
-- 查询前3条 不是想要的结果
select rownum,e.* from emp e order by sal desc;
-- 查询前3条
select rownum,e1.* from (select rownum,e.* from
emp e order by sal desc) e1 where rownum <=3;
需求: emp 表工资倒叙排列后,每页五条记录,查询第二页
-- 错误写法 rownum不支持大于号,只支持小于号
select rownum,e.* from (select * from emp order
by sal desc) e where rownum <11 and rownum <11
and rownum >5;
select * from
(select rownum rn,e.* from (select * from emp
order by sal desc) e where rownum <11) where rn
>5

see you later

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104535.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚拟系统VS

定义 虚拟系统VS&#xff08;Virtual System&#xff09;是指将一台物理设备PS&#xff08;Physical System&#xff09;虚拟成多个相互隔离的逻辑系统。每个VS独立工作&#xff0c;在业务功能上等同于一台独立的传统物理设备&#xff0c;如图2-1所示。 目的 随着网络规模的不…

PNAS亮点文章!浙江大学/东北林业大学/深圳华大生命科学研究院等联合揭示大熊猫种群演化历史,提出物种保护新见解!

本文首发于“生态学者”微信公众号&#xff01;作者投稿系列 全新世以来&#xff0c;尤其是工业革命以来&#xff0c;资源的过度开发利用和环境污染等人类活动&#xff0c;导致野生动物栖息地严重破碎化&#xff0c;甚至丧失&#xff0c;形成了大量隔离小种群&#xff0c;致使…

TESSY导入导出测试用例

TESSY支持测试用例的导入和导出&#xff0c;下面我们以tessy5.1为例&#xff0c;给大家展示。 1、导入测试用例 因为导入测试用例&#xff0c;需要先创建测试集&#xff0c;这部分不熟悉的&#xff0c;可以参考一下&#xff1a; https://blog.csdn.net/u012568663/article/det…

网络编程(学习)2024.8.30

目录 IO多路复用 select、poll、epoll IO多路复用机制 一.select 1.函数 2.流程 3.案例使用select创建全双工客户端 4.并发服务器 5.案例使用select创建全双工服务端 二.poll 1.函数 2.流程 3.案例使用poll创建全双工客户端 4.案例使用poll创建全双工服务端 三、…

国产统信UOS桌面操作系统安装网络打印机

国产统信UOS桌面操作系统安装网络打印机比较麻烦&#xff0c;本文件记录了一些打印机的安装方法。 厂商机型驱动方式打印情况柯尼卡美能达KONICA MINOLTA bizhub c360i加装驱动正常惠普HP Color LaserJet Pro MFP M479fdw默认驱动正常东芝TOSHIBA e-STUDIO2020AC CSHM14177加装…

九、制作卡牌预制体

文章目录 制作预制体Physic 2D Raycaster 射线检测 Physic 2D Raycaster 一、制作预制体 使用两个空物体作为父子级&#xff0c;分别挂UI 设置图层front、从上到下为1-6 父物体挂在一个Sorting组件&#xff0c;因为卡牌可以制作成为一个整体&#xff0c; 所以在父物体上挂载…

Mac 数据恢复技巧:恢复 Mac 上已删除的文件

尝试过许多 Mac 数据恢复工具&#xff0c;但发现没有一款能达到宣传的效果&#xff1f;我们重点介绍最好的 Mac 数据恢复软件。 没有 Mac 用户愿意担心数据丢失&#xff0c;但您永远不知道什么时候会发生这种情况。无论是意外删除 Mac 上的重要文件、不小心弄湿了 Mac、感染病…

pdf转word格式乱了怎么调整?2024帮助你快速进行pdf格式调整的软件

pdf转word格式乱了怎么调整&#xff1f;2024帮助你快速进行pdf格式调整的软件 将PDF文件转换为Word格式时&#xff0c;可能会遇到格式混乱的问题。这通常是由于PDF文件的复杂排版、字体嵌入、图像和表格布局等因素造成的。不过&#xff0c;有一些软件可以帮助你更好地保持原有…

测开必备知识:线程安全和线程不安全

什么是线程安全 线程安全指的是在多线程环境下&#xff0c;一个对象或者数据结构能够保证在并发访问时依然能够维持其预期的行为&#xff0c;不会出现数据不一致或者其他意外情况。 反之就是线程不安全。 多线程环境下可能产生的问题 当多个线程同时访问共享的资源&#xf…

QT笔记 - QProcess读取外部程序(进程)消息

简要介绍 QProcess可用于在当前程序中启动独立的外部程序(进程)&#xff0c;并进行通讯&#xff0c;通讯原理是通过程序的输入或输出流&#xff0c;即通过c中的printf()和或c的std::cout等。 函数 void QProcess::start(const QString & program, const QStringList &am…

直播美颜SDK开发方案详解:如何打造智能化主播美颜工具?

在竞争激烈的市场环境下&#xff0c;如何通过直播美颜SDK打造智能化的主播美颜工具&#xff0c;已成为技术开发者和产品经理们关注的焦点。本篇文章将从核心技术、开发流程和优化策略等方面&#xff0c;详细解析如何构建一款智能化的主播美颜工具。 一、核心技术解析 1.人脸识…

第10讲 后端2

主要目标&#xff1a;理解滑动窗口法、位姿图优化、带IMU紧耦合的优化、掌握g2o位姿图。 第9讲介绍了以为BA为主的图优化。BA能精确优化每个相机位姿与特征点位置。不过在更大的场景中&#xff0c;大量特征点的存在会严重降低计算效率&#xff0c;导致计算量越来越大&#xff0…

图纸安全管理措施有哪些?这九大措施全方位保护图纸安全

图纸安全管理措施是一个综合性的体系&#xff0c;旨在通过技术手段和管理措施确保图纸的机密性、完整性和可用性。以下是一些关键的图纸安全管理措施&#xff0c;以及软件安企神的应用。 一、保密协议与意识教育 签订保密协议&#xff1a;与所有接触图纸的员工签署保密协议&am…

计算方法——插值法程序实现二(牛顿法)

例题 给出的函数关系表&#xff0c;分别利用牛顿插值法计算的近似值。 0.10.20.30.40.51.1051711.2214031.3498591.4918251.648721 参考代码一&#xff1a;Python代码实现&#xff08;自编码&#xff09; import math """ :difference_quotient差商函数 &quo…

基于AppBuilder自定义组件开发大模型应用

AppBuilder简介&#xff1a; 如果大家不了解AppBuilder的话&#xff0c;可以先到这里了解一下&#xff1a; https://cloud.baidu.com/doc/AppBuilder/s/6lq7s8lli 一句话简介&#xff1a; 千帆AppBuilder&#xff08;以下简称AppBuilder&#xff09;是基于大模型搭建AI原生应…

MySQL进阶篇2

三、SQL优化 3.1 插入数据 批量插入推荐每次在 500 ~ 1000 条数据时进行使用。如果大于1000&#xff0c;可以考虑分批次进行插入。 大批量插入数据(100万、1000万) 主键顺序插入的性能比乱序要高 3.2 主键优化 数据组织方式 页分裂 主键顺序插入 主键乱序插入 页合并 (del…

计算机网络-VRRP工作原理

一、VRRP工作原理 前面我们大概了解了VRRP的一些基础概念&#xff0c;现在开始学习VRRP的技术原理。VRRP的选举及工作步骤&#xff1a; 确定网关地址 选举主备 主设备发送VRRP报文通知Backup设备 主设备响应终端ARP并维持在Master状态 终端正常发送报文到网关进行转发 因为我们…

计算机毕业设计Hadoop+PySpark共享单车预测系统 PyHive 共享单车数据分析可视化大屏 共享单车爬虫 共享单车数据仓库 机器学习 深度学习

《Hadoop共享单车分析与预测系统》开题报告 一、课题背景与意义 1.1 课题背景 随着共享经济的快速发展&#xff0c;共享单车作为一种新型绿色环保的共享经济模式&#xff0c;在全球范围内迅速普及。共享单车通过提供便捷的短途出行服务&#xff0c;有效解决了城市居民出行的…

网络安全服务基础Windows--第9节-DNS部署与安全

域名基础知识 域名是互联⽹上⽤来识别各种实体&#xff08;如服务器、服务、⽹络&#xff09;的可读名称。它是⼀种⽅便记忆的地址&#xff0c;⽤于代替IP地址&#xff0c;因为IP地址由数字组成&#xff0c;不容易记忆。域名通过⼀种层级结构的系统组织起来&#xff0c;从最⼀ …

以人口金字塔图为例,在线绘制左右双侧堆叠条形图

导读&#xff1a; 人口金字塔&#xff08;population pyramids&#xff09;用于展示一个特定人口的年龄和性别分布。本质上是一种水平条形图。左侧是男性的数据&#xff0c;右侧是女性的数据。 Proc Natl Acad Sci U S A.文章《Demographic change and assimilation in the ea…