【Oracle数据库】限制数据和对数据排序
来源:互联网 发布:大学生网络课程答案 编辑:程序博客网 时间:2024/05/19 20:40
选择限定数据行
- 使用WHERE子句可以返回限定的数据行,WHERE子句紧跟在FROM子句之后
- WHERE子句的语法:
SELECT [DISTINCT] {*|列名|表达式 [列别名] [,...]}FROM 表名[WHERE 条件表达式]
- 条件表达式通常格式为:列名 比较操作符 要比较的值
- 比较操作符
操作符 含义 =等于>大于>=大于或等于<小于<=小于或等于<>不等于
使用WHERE子句
比较数值型数据
SELECT ename,job,deptnoFROM empWHERE deptno=20
比较字符型数据
SELECT ename,job,deptnoFROM empWHERE job='CLERK'
- 字符型数值作为被比较的值时,必须用单引号引起来
- 字符型数值区分大小写
比较日期型数据
SELECT ename,hiredate,deptnoFROM empWHERE hiredate>'01-1月-85'
- 日期型数据作为被比较的值时,必须用单引号引起来
- 字符型数值是区分日期表达形式的,默认的日期形式是DD-MON-RR
特殊比较运算符
BETWEEN…AND…运算符
- 判断要比较的值是否在某个范围内
SELECT ename,salFROM empWHERE sal BETWEEN 1000 AND 1500
- 判断要比较的值是否在某个范围内
IN(集合列表)运算符
- 判断要比较的值是否和集合列表中的任何一个值相等
SELECT empno,ename,sal,mgrFROM empWHERE mgr IN (7902,7566,7788)
- 判断要比较的值是否和集合列表中的任何一个值相等
LIKE运算符
- 判断要比较的值是否满足部分匹配,也叫模糊查询,需要使用通配符在字符串内查找指定的模式
SELECT enameFROM empWHERE ename LIKE '_L%'
- %:模糊查询的通配符,代表任意数量的字符
- _:模糊查询的通配符,代表一个字符
- 可以使用ESCAPE标识符实现对“%”和“_”的查找
--查询JOB以“MAN_”开头的雇员信息SELECT ename,jobFROM empWHERE job LIKE 'MAN@_%' ESCAPE '@'
- 判断要比较的值是否满足部分匹配,也叫模糊查询,需要使用通配符在字符串内查找指定的模式
IS NULL运算符
- 判断要比较的值是否为空值NULL
- 空值从技术上来说就是未知的、不确定的值,与空字符串不同,空字符串是长度为0的字符串
- 因为空值代表的是未知的值,所以不能直接用“=”运算符判定两个空值是否相等
SELECT ename,mgrFROM empWHERE mgr IS NULL
- 判断要比较的值是否为空值NULL
逻辑运算符
逻辑运算符
当需要和多个条件表达式进行比较时,需要使用逻辑运算符把多个表达式连接起来,逻辑表达式的结果未TRUE、FALSE、NULL逻辑与(AND)
- 连接多个条件表达式,如果每个条件表达式的结果都为TRUE,整个表达式的结果才为TRUE
- 可以使用“AND”运算符加“比较运算符”来代替“BETWEEN...AND...”
SELECT empno,ename,job,salFROM empWHERE sal>=1100AND job='CLERK'
逻辑或(OR)
- 连接多个条件表达式,只要有一个条件表达式的结果为TRUE,整个表达式的结果就为TRUE
SELECT empno,ename,job,salFROM empWHERE sal>=1100OR job='CLERK'
- 连接多个条件表达式,只要有一个条件表达式的结果为TRUE,整个表达式的结果就为TRUE
逻辑非(NOT)
- 对条件表达式取反,TRUE取反为FALSE,FALSE取反为TRUE
- NOT运算符可以和特殊比较运算符一起使用
- NOT BETWEEN...AND...
- NOT IN
- NOT LIKE
- IS NOT NULL
SELECT ename,jobFROM empWHERE job NOT IN ('CLERK','MANAGER','ANALYST')
运算符的优先级
- 括号“()”优先于其他操作符
优先级 运算分类 运算符举例 1算术运算符+,-,*,/2连接运算符||3比较运算符=,>=,>,<=,<,<>4特殊比较运算符BETWEEN...AND...,IN,LIKE,IS NULL5逻辑非NOT6逻辑与AND7逻辑或OR
- 括号“()”优先于其他操作符
ORDER BY子句
使用ORDER BY子句能对查询结果集进行排序ORDER BY子句语法
SELECT [DISTINCT] {*|列名|表达式 [列别名] [,...]}FROM 表名[WHERE 条件表达式][ORDER BY {列名|表达式|列别名|列序号} [ASC|DESC] [,...]]
- 对结果集可以按照列名、列别名、表达式、结果集的列序号排序
- 参与排序的多列都可以指定升序或者降序,并且第一个排序项是主要的排序依据,其次那些是次要的排序依据
- ORDER BY子句中可以写没在SELECT 列表中出现的列
- ASC:升序,默认值|DESC:降序
- ORDER BY子句必须写在SELECT语句的最后
- 对结果集可以按照列名、列别名、表达式、结果集的列序号排序
排序规则
- 数字升序按照数字由小到大排列,降序反之
- 日期升序按照日期由先到后排列,降序反之
- 字母升序按照由A到Z排列,降序反之
- 中文升序按照字典顺序排列,降序反之
- 空值在升序排列中排在最后,在降序排列中排在最开始
0 0
- 【Oracle数据库】限制数据和对数据排序
- 数据库——限制数据和对数据排序
- Oracle限制数据以及对数据排序
- Oracle DB 对数据进行限制和排序
- Oracle DB对数据进行限制和排序
- ORACLE SQL 2 对数据进行限制和排序
- 限制数据和对数据排序
- sql_限制数据和对数据排序
- 【Oracle练习】②第3章 限制数据和对数据排序
- Oracle编写简单的查询语句,以及限制数据和对数据的排序
- 第3章 限制数据和对数据排序
- oracle数据库的最大数据容量限制和表空间的最大数据容量限制
- oracle数据库和表空间的最大数据容量限制
- ORACLE对字母和数字混合的数据排序
- 【翻译自mos文章】oracle数据库的最大数据容量限制和表空间的最大数据容量限制
- oracle数据库对blob类型数据的存和取
- oracle 比对数据库表和数据表数据(PL\SQL)
- oracle 比对数据库表和数据表数据(PL\SQL)
- 设计模式六大原则(1):单一职责原则
- 在使用myeclipse SVN下载项目终止报错和提交代码时,不出现注释框的尝试解决办法
- 创建sftp用户 只允许访问指定目录 操作命令
- 三维线段距离,分数类(Ardenia王国,LA 4973)
- TPS和QPS
- 【Oracle数据库】限制数据和对数据排序
- tar命令的详细解释
- position absolute relative
- 打包命令行输出IPA文件
- python--继承
- 反射基础一
- MYSQL-基础—存储过程
- PAT甲级1018
- Dictionary数据类型在Darwin视频服务器中的使用