分组查询


写的顺序:

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. 记一次MAVEN依赖事故

    笔者昨天遇到的背景是这样的  MAVEN A模块有一个子模块  需要依赖B模块下的一个子模块  我在B项目内通过mvn deploy上传子模块 但之后在A模块引用  怎么引用都不行  提示 org.a ...

  2. mysql8.0.x中datasource信息

    driverClassName: com.mysql.jdbc.Drivertype: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql:// ...

  3. 如何快速搭建hadoop集群

    安装好虚拟机,重命名为master 配置网卡 命令:vi /etc/sysconfig/network-scripts/ifcfg-en(按tab键) 这里要配置ip,网关,域名解析 例如我的 IPA ...

  4. Nginx安装,开箱即用?

    一.官网 首页:http://nginx.org/ 下载地址:http://nginx.org/download 安装文档:http://nginx.org/en/docs/install.html ...

  5. ubuntu 上搭建 go的开发环境 vscode

    原文链接: https://astaxie.gitbooks.io/build-web-application-with-golang/zh/01.4.html 原本我是在windows下进行go的环 ...

  6. ctfshow—web—web7

    打开靶机 发现是SQL注入,盲注 过滤了空格符,可以用/**/绕过,抓包 直接上脚本 import requestss=requests.session()url='https://46a0f98e- ...

  7. linux DRM GPU scheduler 笔记

    内核文档:   Overview   The GPU scheduler provides entities which allow userspace to push jobs into softw ...

  8. python中hmac模块的使用

    hmac(hex-based message authentication code)算法在计算哈希的过程中混入了key(实际上就是加盐),和hashlib模块中的普通加密算法相比,它能够防止密码被撞 ...

  9. linux系统图形化管理工具

    webmin是一个非常好的图形化管理工具,提供了系统管理员对于linux系统的运维效率.对于那些记不住命令,新入门的新手真的是一个很好的工具呀,上图吧. 这是系统管理的首页,可以看到,CPU,内存.虚 ...

  10. MySQL数据库基础知识及优化

    MySQL数据库基础知识及优化必会的知识点,你掌握了多少? 推荐阅读: 这些必会的计算机网络知识点你都掌握了吗 关于数据库事务和锁的必会知识点,你掌握了多少? 关于数据库索引,必须掌握的知识点 目录 ...