首页 > 学院 > 开发设计 > 正文

【Oracle数据库】限制数据和对数据排序

2019-11-09 13:38:57
字体:
来源:转载
供稿:网友

选择限定数据行

使用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

逻辑运算符

逻辑运算符

当需要和多个条件表达式进行比较时,需要使用逻辑运算符把多个表达式连接起来,逻辑表达式的结果未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'

逻辑非(NOT)

对条件表达式取反,TRUE取反为FALSE,FALSE取反为TRUENOT运算符可以和特殊比较运算符一起使用NOT BETWEEN...AND...NOT INNOT LIKEIS NOT NULL
SELECT ename,jobFROM empWHERE job NOT IN ('CLERK','MANAGER','ANALYST')

运算符的优先级

括号“()”优先于其他操作符
优先级运算分类运算符举例
1算术运算符+,-,*,/
2连接运算符||
3比较运算符=,>=,>,<=,<,<>
4特殊比较运算符BETWEEN...AND...,IN,LIKE,IS NULL
5逻辑非NOT
6逻辑与AND
7逻辑或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排列,降序反之中文升序按照字典顺序排列,降序反之空值在升序排列中排在最后,在降序排列中排在最开始
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表