Oracle系列三 过滤和排序
WHERE子句
- 使用WHERE 子句,将不满足条件的行过滤掉。
示例:
SELECT
employee_id,
last_name,
job_id,
department_id
FROM
employees
WHERE
department_id = 90 ;

字符和日期
- 字符和日期要包含在单引号中。
- 字符大小写敏感,日期格式敏感。
示例:
SELECT
last_name,
job_id,
department_id
FROM
employees
WHERE
last_name = 'Whalen';

比较运算
| 操作符 | 含义 |
| = | 等于 |
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
| <> | 不等于(也可以是!=) |
赋值使用 := 符号
比较运算示例:
SELECT
last_name,
salary
FROM
employees
WHERE
salary <= 3000;

其它比较运算
| 操作符 | 含义 |
| BETWEEN...AND... | 在两个值之间 (包含边界) |
| IN(set) | 等于值列表中的一个 |
| LIKE | 模糊查询 |
| IS NULL | 空值 |
使用 BETWEEN 运算来显示在一个区间内的值
示例一:
SELECT
last_name,
salary
FROM
employees
WHERE
salary BETWEEN 2500 AND 3500;

使用 IN运算显示列表中的值
SELECT
employee_id,
last_name,
salary,
manager_id
FROM
employees
WHERE
manager_id IN (
100,
101,
201
);

LIKE
- 使用 LIKE 运算选择类似的值
- 选择条件可以包含字符或数字:
- % 代表零个或多个字符(任意个字符)。
- _ 代表一个字符。
示例:
SELECT
first_name
FROM
employees
WHERE
first_name LIKE 'S%';

‘%’和‘-’同时使用
示例:
SELECT
last_name
FROM
employees
WHERE
last_name LIKE '_o%';

ESCAPE
- 可以使用 ESCAPE 标识符 选择‘%’和 ‘_’ 符号。
- 回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可。
示例:
SELECT
job_id
FROM
jobs
WHERE
job_id LIKE 'IT\_%' ESCAPE '\';

NULL
- 使用 IS (NOT) NULL 判断空值。
SELECT
last_name,
manager_id
FROM
employees
WHERE
manager_id IS NULL;

逻辑运算
| 操作符 | 含义 |
| AND | 逻辑并 |
| OR | 逻辑或 |
| NOT | 逻辑否 |
AND
- AND 要求并的关系为真。
示例:
SELECT
employee_id,
last_name,
job_id,
salary
FROM
employees
WHERE
salary >= 10000
AND job_id LIKE '%MAN%';

OR
- OR 要求或关系为真。
SELECT
employee_id,
last_name,
job_id,
salary
FROM
employees
WHERE
salary >= 10000
OR job_id LIKE '%MAN%';

NOT
- NOT 不在这之内
SELECT
last_name,
job_id
FROM
employees
WHERE
job_id NOT IN (
'IT_PROG',
'ST_CLERK',
'SA_REP'
);
优先级
| 优先级 | 名称 |
| 1 | 算术运算符 |
| 2 | 连接符 |
| 3 | 比较符 |
| 4 | IS [NOT] NULL, LIKE, [NOT] IN |
| 5 | [NOT] BETWEEN |
| 6 | NOT |
| 7 | AND |
| 8 | OR |
- 可以使用括号改变优先级顺序
ORDER BY子句
- 使用 ORDER BY 子句排序
- ASC(ascend): 升序
- DESC(descend): 降序
- ORDER BY 子句在SELECT语句的结尾。
示例:
SELECT
last_name,
job_id,
department_id,
hire_date
FROM
employees
ORDER BY
hire_date;

降序排列
SELECT
last_name,
job_id,
department_id,
hire_date
FROM
employees
ORDER BY
hire_date DESC;

按别名排序:
SELECT
employee_id,
last_name,
salary * 12 annsal
FROM
employees
ORDER BY
annsal;

多个列排序:按照ORDER BY 列表的顺序排序。
SELECT
last_name,
department_id,
salary
FROM
employees
ORDER BY
department_id,
salary DESC;

Oracle系列三 过滤和排序的更多相关文章
- Oracle系列(三): 情景查询一 a表中有个fid字段,逗号分隔开来,b表中有id字段及其他信息,如何关联a表的fid和和b表的id字段查询
现在有两个表,表a中 DOC FID 1 a,b,c 2 a,c,d 表b中 ID KEY a A b B c C d D 怎么联合查询出 DOC FID KEY 1 a,b,c A,B,C 2 a, ...
- oracle系列(三)表操作基础
支持的数据类型: 字符型char 定长 最大2000varchar2() 变长 最大4000clob 字符型大对象 最大4G 数字型number范围 -10的38次方到10的+38次方;number( ...
- 《Entity Framework 6 Recipes》中文翻译系列 (27) ------ 第五章 加载实体和导航属性之关联实体过滤、排序、执行聚合操作
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-9 关联实体过滤和排序 问题 你有一实体的实例,你想加载应用了过滤和排序的相关 ...
- Oracle Day2 过滤、排序、单行函数
1.过滤和排序 SQL> --查询10号部门的所有员工信息 SQL> select * from emp ; 未选定行 SQL> ed SP2: 无法创建保存文件 "afi ...
- Web 开发人员和设计师必读文章推荐【系列三十】
<Web 前端开发精华文章推荐>2014年第9期(总第30期)和大家见面了.梦想天空博客关注 前端开发 技术,分享各类能够提升网站用户体验的优秀 jQuery 插件,展示前沿的 HTML5 ...
- .Net程序员学用Oracle系列(11):系统函数(下)
1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 R ...
- .Net程序员学用Oracle系列(15):DUAL、ROWID、NULL
1.DUAL 表 2.ROWID 类型 2.1.利用 ROWID 查询数据 2.2.利用 ROWID 更新数据 3.NULL 值 3.1.NULL 与空字符串 3.2.NULL 与函数 3.3.NUL ...
- .Net程序员学用Oracle系列(30):零碎补充、最后总结(The End)
1.同义词 2.Flashback 技术 3.连接字符串的写法 4.转义字符 & 特殊运算符 5.文件类型 6.查看参数 & 修改参数 7.AWR 工具 8.学习方法 & 学习 ...
- Oracle01——基本查询、过滤和排序、单行函数、多行函数和多表查询
作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7272236.html Oracle的集群 Oracle的体系结构 SQL> --当 ...
随机推荐
- 【转】高性能网络编程4--TCP连接的关闭
TCP连接的关闭有两个方法close和shutdown,这篇文章将尽量精简的说明它们分别做了些什么. 为方便阅读,我们可以带着以下5个问题来阅读本文: 1.当socket被多进程或者多线程共享时,关闭 ...
- Linux命令——od
参考:Linux OD Command Tutorial for Beginners (6 Examples) 简介 查看普通文本文件,可以使用cat.head.tail.tac.less.more等 ...
- Python入门篇-面向对象概述
Python入门篇-面向对象概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.语言的分类 面向机器 抽象成机器指令,机器容易理解 代表:汇编语言 面向过程 做一件事情,排出个 ...
- PostgreSQL数据库安装
PostgreSQL数据库安装 postgresqllinux9.6.0 2018年01月31日 10时53分13秒 编译以及安装 源码编译 程序安装 数据库的启动和停止 启动数据库 关闭数据库 数据 ...
- python的gui库tkinter
导入tkinter模块 import tkinter as tk 设置窗口名字和大小 frame=tk.Tk() frame.title('数学') frame.geometry('200x440') ...
- centos 7 修改密码
linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7环境进行操作,由于centos的版本是有差异的,继续之前请确定好版本. 操作步骤 一.重启系统,在开机过程中,快速 ...
- 使用aliyun的oss服务器上传照片
1.控制台操作 首先介绍一下阿里云OSS对象存储的一些基本概念. 1.1 进入对象存储界面 登录阿里云账号,进入对象存储界面,如图所示. 进入后如图所示. 1.2 OSS基本概念 这里不过多介绍如何在 ...
- spingboot jar 包启动遇到得坑
先摘抄一篇文章 pringboot打成jar包后,可直接用java -jar app.jar 启动,或者使用 nohup java -jar app.jar & 后台启动,也可以将 jar包链 ...
- Mycat 全局系列号(转载)
概述 本篇文章介绍mycat怎样在分库分表的情况下保证主键的全局唯一方法,接下来就来分析三种方法各自的优缺点. 配置 文件方式获取 1.修改server配置文件 vim server.xml < ...
- python(二)——if条件语句与基本数据类型
if语句 缩进要保持一致 if 1 == 1: print('hello') if 2 == 2: print('world') else: print('python') elif inp = in ...