Oracle限制数据以及对数据排序

来源:互联网 发布:淘宝公益宝贝 买家 编辑:程序博客网 时间:2024/05/23 14:46

限制数据和对数据排序

限制数据和对数据的排序是数据库操作中非常常用的。对于这块内容需要达到如下目标:

  • 理解限制数据和排序数据的作用;
  • 掌握不同类型的数据的比较方法;
  • 掌握where和order by的使用;
  • 掌握特殊比较运算符的含义及用法;
  • 掌握逻辑运算符的含义及用法;

where语句

限制数据的其中一部分是限定数据行,就是为查询语句添加条件语句-where语句通过使用where字句可以返回限定的数据行,语法格式如下:

SELECT[distinct]{*|column | expression[alias],…}
FROM table
[WHERE condition(s)];

condiction:表示条件表达式。
eg.select name,age from table where age > 50;查询年龄(age)大于50的信息。

特殊比较运算符

运算符 含义 例句 BETWEEN…AND.. 判断要比较的值是否在某个范围中 select * from table where age between 59 and 70;(查询年龄的范围在59到70的数据) IN(集合列表) 判断要比较的值是否和集合列表中的任何一个值相等 select * from table where age in(59,70);(查询年龄为59或70的数据) LIKE 判断要比较的值是否满足部分匹配。 select name from table where name like ‘J%’;(查询姓名第一个字母’J’的数据) IS NULL 判断要比较了值是否为空值NULL select name,salary from table where salary is null;(查询工资为空的数据)

逻辑运算符

前面已经学习了如何书写一个表达式,但如果需要查询的条件是:查询年龄大于50,并且工资不低于的6000的信息。像这样两个或多个限制数据的条件就需要使用逻辑运算符连接。具体连接符如下:

运算符 含义 例句 AND 逻辑与,用来连接多个条件表达式。如果每个条件表 达式的结果都为TRUE,整个表达式的结果才为TRUE。 select * from table where age > 50 and salary >=6000;(查询年龄大于50,并且工资不低于的6000的信息。) OR 逻辑或,用来连接多个条件表达式。只要有1个条件表 达式的结果为TRUE,整个表达式的结果就为TRUE select * from table where age > 50 or salary >=6000;(查询年龄大于50,或者工资不低于的6000的信息。) NOT 逻辑非,用来对条件表达式取反。TRUE取反为FALSE ,FALSE取反为TRUE。 select * from table where NOT name like ‘J%’;(查询姓名不是以‘J’开头的信息)

运算符的优先级

学习了各种运算符,那么他们的优先级又如何呢。需要提出的是括号‘()’优先级高于其他操作符。其余的如下表:

优先级 运算分类 运算符举例 1 算术运算符 *,/,+,- 2 连接运算符 || 3 比较运算符 ==,<>,<,>,<=,>= 4 特殊比较运算符 BETWEEN…AND..,IN,LIKE,IS NULL 5 逻辑非 NOT 6 逻辑与 AND 7 逻辑或 OR

ORDER BY字句

ORDER BY是对查询的结果进行升降排序。语法如下:

SELECT [DISTINCT] {* | 列名 | 表达式[别名]…}
FROM 表名
[WHERE 条件]
[[ORDER BY {列名|表达式|列别名|列序号} [ASC|DESC],…]]
其中: –可以按照列名、表达式、列别名、结果集的列序号排序 –ASC: 升序,默认值DESC: 降序 –ORDER BY 子句必须写在SELECT语句的最后。
eg.select * from table order by age;

1 0
原创粉丝点击