Oracle数据库之——分组查询,子查询及添加,更新,删除
分组查询
写的顺序:
select...from...where...
group by...having...order
by...
执行顺序:
from...where...group by....
having ... select ...order by ....
实例练习:
-- existes : 用它来找寻满足一个条件的信息
-- 找寻多表中存在关联关系或不存在关联关系的数据
--查询部门当中没有员工的部门
select d.* from dept d
where not EXISTS(select * from emp e where e.deptno=d.deptno)
子查询
子查询=简单查询+限定查询+多表查询+统计查询的综合体;
多表查询性能差,替代方案:子查询,
所谓的子查询指的就是在一个查询之中嵌套了其他的若干查询.
语法:
如果现在的子查询返回的是多行单列数据的话,这个时候就需要使用三种判断符判断了:IN、ANY、ALL。
子查询相关操作符
ANY操作符:与每一个内容相匹配,有三种匹配形式:
=ANY:功能与IN操作符是完全一样的;
>ANY:比子查询中返回记录最小的还要大的数据。
<\ANY:比子查询中返回记录的最大的还要小;
实例练习:
select * from emp where sal in(select sal from emp where job='MANAGER')
-- =any 与in作用一样
select * from emp where sal=any(select sal from emp where job='MANAGER')
-- >any 比子查询中返回的最小结果要大
select * from emp where sal>any(select sal from emp where job='MANAGER')
-- <any 比子查询中返回的最大结果要小
select * from emp where sal<any(select sal from emp where job='MANAGER')
-- >all 比子查询中返回的最大结果还要大
select * from emp where sal>all(select sal from emp where job='MANAGER')
-- <all 比子查询中返回的最小结果还要小
select * from emp where sal<all(select sal from emp where job='MANAGER')
DML(数据操作语言)
添加
– 添加
–insert into 表名称 (字段1,字段2,字段3……) values (值1,值2,值3….)
– 只能添加一次,第二次添加提示错误:违反唯一约束条件
insert into dept (deptno,dname,loc) values (50,’DEVELOP’,’BeiJing’);
– 简写,必须保持顺序跟表的字段顺序一样
insert into dept values(60,’DESIGN’,’ShangHai’);
– 提交事务. 引申一个事务概念:DML(数据操作语言)没有自动提交事务,DDL(数据定义语言)有自动提交事务能力
COMMIT;
更新
– update 更新
– update 表名称 set (字段1=值1,字段2=值2,字段3=值3,……) update dept set loc=’YanTai’ where deptno=50;
–rollback;回滚刚才没有提交的事务的操作
–提交事务:持久化。 COMMIT;
删除
– 删除 delete
– delete from 表名称 where delete from dept where deptno in(50,60);
–持久化:提交commit commit;
–除了DML(数据操作语言),其他都不需要提交事务
Oracle数据库之——分组查询,子查询及添加,更新,删除的更多相关文章
- Oracle 数据库基础学习 (六) 子查询
子查询在一个select中出现多个嵌套查询语句 1.在where子句中使用子查询(一般返回"单行单列" "单行多列" "多行单列"(可以提供 ...
- Oracle(2)之多表查询&子查询&集合运算
多表查询 笛卡尔积 同时查询多张表时,每张表的每条数据都要和其它表的每条数据做组合.如下栗子,我们发现产生的总记录数是 56 条,还发现 emp 表是 14 条,dept 表是 4 条,56 条正是 ...
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...
- 【知识库】-数据库_MySQL之基本数据查询:子查询、分组查询、模糊查询
简书作者:seay 文章出处: 关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询 回顾:[知识库]-数据库_MySQL常用SQL语句语法大全示例 Learn [已经过测试校验] 一.简单查询 ...
- 【数据库】SQL经典面试题 - 数据库查询 - 子查询应用二
上节课我们通过子查询,完成了查询的最高分学生的需求,今天我们来学习子查询的分类,以及通过子查询来完成工作中经常遇到一些个性化需求. 子查询概念: 一个SELECT语句嵌套在另一个SELECT语句中,子 ...
- ORACLE 多表连接与子查询
Oracle表连接 SQL/Oracle使用表连接从多个表中查询数据 语法格式: select 字段列表from table1,table2where table1.column1=table2.co ...
- java数据库编程之嵌套子查询及exists的使用
第四章:高级查询(二) 4.1:exists和not exists子查询 4.1.1:exists子查询 用exists作为子查询的where条件 语法:select,,,,,,from 表名 w ...
- Oracle的查询-子查询
--子查询 --子查询返回一个值 --查询出工资和scott一样的员工信息 select * from emp where sal in (select sal from emp where enam ...
- Python-select 关键字 多表查询 子查询
sql 最核心的查询语句!!!! 增删改 单表查询 select语句的完整写法 关键字的书写顺序 执行顺序 多表查询 笛卡尔积 内连接 左外连接 右外连接 全外连接 通过合并左外连接和右外连接 子查询 ...
随机推荐
- http协议中的缓存机制
强缓存 - expires,服务器给客户端一个过期日期,如(2020-12-12),过了该时间,客户端请求服务器重新获取.存在问题:客户端与服务端存在时间差,会导致过期时间不准确 - Cache-co ...
- WebSocket入门及使用指南
最近在一个项目中,需要使用到websocket,于是就花了一点时间来熟悉websocket并总结写篇blog. 为何使用websocket 在浏览器与服务器通信间,传统的 HTTP 请求在某些场景下并 ...
- Mapreduce实例--求平均值
求平均数是MapReduce比较常见的算法,求平均数的算法也比较简单,一种思路是Map端读取数据,在数据输入到Reduce之前先经过shuffle,将map函数输出的key值相同的所有的value值形 ...
- TurtleBot3使用课程-第三节b(北京智能佳)
目录 1.使用TurtleBot3机械手运行SLAM 2 1.1 roscore运行 2 1.2 准备行动 3 1.3 运行SLAM节点 3 1.4 运行turtlebot3_teleop_key节点 ...
- API接口的安全设计验证—ticket,签名,时间戳
概述 与前端对接的API接口,如果被第三方抓包并进行恶意篡改参数,可能会导致数据泄露,甚至会被篡改数据,我主要围绕时间戳,token,签名三个部分来保证API接口的安全性 1.用户成功登陆站点后,服务 ...
- mysql的binlog+maxwell+kakka
1.业务库痛点及解决⽅案 初期出⾏业务的订单相关,是以mysql作为业务库为基准的,但是随着业务线增多,每⽇新增数据指 数上涨,⼏乎在每天的⾼峰期期间,都会出现业务库所在服务器的cpu.IO.内存等跑 ...
- 观《if (domain logic) then CQRS, or Saga?》所悟
引言 Udi Dahan曾在2017年阿姆斯特丹的DDD欧洲年会上发表过一篇演讲--if (domain logic) then CQRS, or Saga.视频是UP主从Youtube搬运的,我听力 ...
- Linux服务器下安装Composer 并使用Composer安装Thinkphp5.0
Composer官方文档:https://docs.phpcomposer.com/00-intro.htmlComposer是一个php的包管理器.要求php版本在5.3以上. 一.安装Compos ...
- 【Jboss】一台服务器上如何部署多个jboss
一台服务器上如何部署多个jboss呢?直接把整个部署环境copy一份到相应的目录下? 这样只是前提,但是启动复制后的jboss就会发现,有很多端口被占用 3873,8080,8009,8443,808 ...
- Empire
Empire 内网渗透神器 一 基本渗透 安装 git clone https://github.com/BC-SECURITY/Empire/ ./setup/install.sh 启动 ./emp ...