高级查询

分组查询

select * from student
[where ]
[having ] --二次限定
[order by] --asc升序 desc降序 默认升序

查看EMPLOYEE表中,员工在同一部门做相同工作且总工资大于5000,平均工资小于1500的薪水情况和人数?

select  deptno,job,count(*) from employee
group by deptno,job
having avg(sal)<1500 and sum(sal) >5000
order by deptno;

分组查询注意事项:

如果在查询结果中的某些字段上没有使用分组函数,那么这些字段就必须出现在group by子句中。这是一个分组查询的强制性规则。

--查询每个部门的人数以及部门的总工资
--两个列都是使用了分组函数,所以group by 语句中可以省略不写
--但deptno没有使用分组函数,所以要group by语句中要出现deptno
select deptno,count(empno),sum(sal) from employee
group by deptno

非等值连接

简单地来说,连接条件就是某些值满足在某个范围之内

--salgrade表中三个属性,losal-hisal是工资范围,grade则是该范围对应的等级
select ename,salgrade from employee,salgrade
where sal between losal and hisal;

内连接inner join(等值连接)

多用于表之间有关联关系,如主外键关系的表

select * from employee e
join department d --这里相当于inner join,inner可以省略
on e.deptno = d.deptno;
--等值连接
select * frjom employee e,department d
where e.deptno = d.deptno;

左外连接left outer join

多用于表之间有关联关系,如主外键关系的表,不过以左边数据为标准,未匹配的以空行出现

一般outer可以省略不写

select * from employee e
left join depaterment d on e.deptno = d.deptno;

右外连接

与左外连接相反,以右边数据为标准,未匹配的以空行出现,好像不常用

子查询

单行子查询可以出现在以下位置:

  • select语句
  • from语句
  • join子句中
  • HAVING子句中

多行子查询:

  1. ANY(值列表): 与子查询结果列表中的任何一个值比较。
  2. ALL(值列表):与子查询结果列表中的所有值比较。
  3. IN(值列表): 等于列表中的任何一个值。
select *
from employee
where sal<any(select distinct sal from employee where job='SALESMAN')

oracle学习笔记(十一) 高级查询的更多相关文章

  1. Oracle学习笔记十一 游标

    游标的简介 游标的概念 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中的数据进行各种操作 ...

  2. Oracle学习笔记_07_模糊查询

    附录:参考资料 1.Oracle sql语言模糊查询--like后面的通配符 2.oracle sql语言模糊查询--通配符like的使用教程

  3. Oracle学习笔记(十一)

    例外: 例外是程序设计语言提供的一种功能,用来增强程序的健壮性和容错性. 例外分为:系统例外自定义例外 系统例外分为:No_data_found(没有找到数据).Too_many_rows(selec ...

  4. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  5. oracle学习笔记第一天

    oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字   1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...

  6. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  7. Oracle学习笔记之四,SQL语言入门

    1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...

  8. Hadoop学习笔记(7) ——高级编程

    Hadoop学习笔记(7) ——高级编程 从前面的学习中,我们了解到了MapReduce整个过程需要经过以下几个步骤: 1.输入(input):将输入数据分成一个个split,并将split进一步拆成 ...

  9. MyBatis:学习笔记(3)——关联查询

    MyBatis:学习笔记(3)--关联查询 关联查询 理解联结 SQL最强大的功能之一在于我们可以在数据查询的执行中可以使用联结,来将多个表中的数据作为整体进行筛选. 模拟一个简单的在线商品购物系统, ...

  10. python3.4学习笔记(十一) 列表、数组实例

    python3.4学习笔记(十一) 列表.数组实例 #python列表,数组类型要相同,python不需要指定数据类型,可以把各种类型打包进去#python列表可以包含整数,浮点数,字符串,对象#创建 ...

随机推荐

  1. bootstrap-select使用过程中的一些问题

    这里总结一下上次使用bootstrap-select的过程中遇到的一些问题.至于bootstrap-select的具体使用方法这里就不介绍了,网上有很多例子. 地址: 官方插件地址:https://d ...

  2. 使用DEV C++调试代码

    0.序言 本片博客旨在记录通过DEV C++工具调试C/C++代码,在这之前需要对以下知识了解或掌握. C/C++代码的完整编译过程,可参考文章 GCC,gcc,g++,gdb的区别和联系,可参考文章 ...

  3. Vue 从入门到进阶之路(十三)

    之前的文章我们介绍了一下 vue 中的作用域插槽,本章我们来看一下动态组件与 v-once 指令. <!DOCTYPE html> <html lang="en" ...

  4. vue template标签

    在普通的html里面: template标签默认有个 display:none; 属性,并且其里面的内容是不可见的. 在vue里面: template标签类似一个隐藏的div,在审查元素的时候是找不到 ...

  5. Java题库——Chapter10 面向对象思考

    1)You can declare two variables with the same name in ________. 1) _______ A)a method one as a forma ...

  6. ZooKeeper(五):事务处理之更新数据逻辑解析

    通过前些文章,我们已经完全从整体架构和数据接入方面理解了ZK的前情工作.接下来,我们就来看ZK的正式工作吧. 本文以 setData /a data 这个命令作为出发点,来观察zk是如何处理来自客户端 ...

  7. RabbitMQ与Spring的框架整合之Spring Boot实战

    1.RabbitMQ与Spring的框架整合之Spring Boot实战. 首先创建maven项目的RabbitMQ的消息生产者rabbitmq-springboot-provider项目,配置pom ...

  8. 常用类-CSV---OLEDB

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  9. 详解Condition的await和signal等待/通知机制

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

  10. SSH框架之Struts2第三篇

    1.3相关知识点 : 1.3.1 OGNL的表达式 : 1.3.1.1 什么是OGNL OGNL是Object-Graph Navigation Language的编写,它是一种功能强大的表达式语言, ...