分组查询


写的顺序:

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数据库之——分组查询,子查询及添加,更新,删除的更多相关文章

  1. Oracle 数据库基础学习 (六) 子查询

    子查询在一个select中出现多个嵌套查询语句 1.在where子句中使用子查询(一般返回"单行单列" "单行多列" "多行单列"(可以提供 ...

  2. Oracle(2)之多表查询&子查询&集合运算

    多表查询 笛卡尔积 同时查询多张表时,每张表的每条数据都要和其它表的每条数据做组合.如下栗子,我们发现产生的总记录数是 56 条,还发现 emp 表是 14 条,dept 表是 4 条,56 条正是 ...

  3. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  4. 【知识库】-数据库_MySQL之基本数据查询:子查询、分组查询、模糊查询

    简书作者:seay 文章出处: 关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询 回顾:[知识库]-数据库_MySQL常用SQL语句语法大全示例 Learn [已经过测试校验] 一.简单查询 ...

  5. 【数据库】SQL经典面试题 - 数据库查询 - 子查询应用二

    上节课我们通过子查询,完成了查询的最高分学生的需求,今天我们来学习子查询的分类,以及通过子查询来完成工作中经常遇到一些个性化需求. 子查询概念: 一个SELECT语句嵌套在另一个SELECT语句中,子 ...

  6. ORACLE 多表连接与子查询

    Oracle表连接 SQL/Oracle使用表连接从多个表中查询数据 语法格式: select 字段列表from table1,table2where table1.column1=table2.co ...

  7. java数据库编程之嵌套子查询及exists的使用

    第四章:高级查询(二) 4.1:exists和not exists子查询 4.1.1:exists子查询 用exists作为子查询的where条件 语法:select,,,,,,from 表名   w ...

  8. Oracle的查询-子查询

    --子查询 --子查询返回一个值 --查询出工资和scott一样的员工信息 select * from emp where sal in (select sal from emp where enam ...

  9. Python-select 关键字 多表查询 子查询

    sql 最核心的查询语句!!!! 增删改 单表查询 select语句的完整写法 关键字的书写顺序 执行顺序 多表查询 笛卡尔积 内连接 左外连接 右外连接 全外连接 通过合并左外连接和右外连接 子查询 ...

随机推荐

  1. webapplicationContext之ServletContext等相关概念说明

    1)ServletContext是一个全局的储存信息的空间,所有用户共用一个,其信息必须是线程安全且共享的. ServletContext有一个接口定义:ServletContext接口.此接口定义了 ...

  2. 数据库索引的基石----B树

    数据结构相对来说比较枯燥, 我尽量用最易懂的话,来把B树讲清楚.学过数据结构的人都接触过一个概念二叉树,简单来说,就是每个父节点最多有两个子节点.为了在二叉树上更快的进行元素的查找,人们通过不断的改进 ...

  3. 多年经验总结,写出最惊艳的 Markdown 高级用法

    点赞再看,养成习惯,微信搜索[高级前端进阶]关注我. 本文 GitHub https://github.com/yygmind 已收录,有一线大厂面试完整考点和系列文章,欢迎 Star. 最近在学习的 ...

  4. web网上书店总结(jsp+servlet)

    web网上书店总结 前端的首页.效果如下: 基本上按照页面有的内容对其实现功能.按照用户划分功能模块,有后台管理员和普通用户,登录的时候会判断账户的类别,例如0权限代表普通用户登录,1权限代表管理员登 ...

  5. HBASE Shell基本命令

    定义 HBASE是一种分布式.可扩展.支持海量数据存储的NoSQL数据库. HBASE数据模型 逻辑上,HBASE的数据模型同关系型数据库类似,数据存储到一张表中,有行有列,但是从HBASE的底层物理 ...

  6. 浅谈sql索引

    索引是什么 假如你手上有一个你公司的客户表,老板说找什么客户你就得帮他找出来. 客户不多的时候,你拿着手指一行一行滑,费不了多少时间就能找到. 后来公司做大了,客户越来越多,好几页的客户,你发现,一行 ...

  7. 这难道不是.NET5 的bug? 在线求锤?

    hello,最近在对一个使用.NET5项目的认证授权系统进行重构,对.NET 5的授权中间件的源码有些看法. 也希望同学们能帮我理解. 一个朴素的需求 这是一个api项目,默认所有的api都需要授权, ...

  8. 腾讯云COS对象存储占据数据容灾C位

    说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...

  9. Windows系统使用运行框运行程序

    配置步骤 1. 在非系统盘创建一个新文件夹,自定义名称.将需要使用运行框启动的程序或文件放入文件夹,并将其更改为自己容易记忆的名称 2. 创建环境变量 右击 "此电脑" → &qu ...

  10. 如何在 Blazor WebAssembly中 使用 功能开关

    微软Azure 团队开发的 功能管理 (Feature Management) 包 Microsoft.FeatureManagement可用于实现 功能开关,可以通过 功能开关 特性动态的改变应用程 ...