oracle篇 之 排序、限制查询行

第二章:排序、限制查询行

一、order by子句

1.order by排序规则

(1)asc,升序排列,默认取值

(2)desc,降序排列

(3)order by是select命令的最后一个子句

select last_name,salary,dept_id

from s_emp

order by salary;

select last_name,salary,dept_id

from s_emp

order by salary asc;

select last_name,salary,dept_id

from s_emp

order by salary desc;

2.order by中null值处理

(1)升序中,放最后

(2)降序中,放最前

select last_name,title,commission_pct

from s_emp

order by commission_pct;

3.order by后可跟内容

(1)列名

(2)列的别名

(3)数字:select列表项的位置

select last_name name,salary

from s_emp

order by name;

select last_name,salary*12

from s_emp

order by 2;

4.order by后跟多个列

(1)先按第一个列排序,内容相同的,再按照第二个列排...

(2)asc、desc只修饰一个列

select last_name,dept_id,salary

from s_emp

order by dept_id,salary desc;

等价

select last_name,dept_id,salary

from s_emp

order by dept_id asc,salary desc;

二、where子句

1.限制取出记录数

(1)where比较中的字符串常量严格区别大小写

select last_name,salary,dept_id

from s_emp

where dept_id=42;

SELECT LAST_NAME,SALARY,DEPT_ID

FROM S_EMP

WHERE DEPT_ID=42;

select last_name,salary,dept_id

from s_emp

where last_name=‘smith‘;

2.where中的操作符

(1)between...and...:闭区间;先跟小值,再跟大值

select last_name,salary

from s_emp

where salary between 940 and 1100;

select last_name,salary

from s_emp

where salary between 1100 and 940;

(2)in:从给定的列表范围内匹配值

select last_name,salary,dept_id

from s_emp

where dept_id in(41,43,45);

(3)like:模糊查询

通配符:

%代表0或多个字符

_代表单一字符

select last_name,salary

from s_emp

where last_name like ‘M%‘;

escape自定义转义字符,可以让统配符失去特殊意义,变成普通字符

查出名字以_a开始的?

select last_name,salary

from s_emp

where last_name like ‘\_a%‘ escape ‘\‘;

(4)is null:空值判断

空值不能用等号进行比较

*select last_name,salary,title,commission_pct

from s_emp

where commission_pct is null;

(5)多条件查询

and:多个条件必须同时满足

or:多个条件选一个

and的优先级比or高

select last_name,salary,dept_id

from s_emp

where salary>=1000

and dept_id=44

or dept_id=42;

等价

select last_name,salary,dept_id

from s_emp

where (salary>=1000

and dept_id=44)

or dept_id=42;

原文地址:https://www.cnblogs.com/wskb/p/10749174.html

时间: 2024-11-20 06:08:12

oracle篇 之 排序、限制查询行的相关文章

Oracle基本语法&&函数&&子查询&&分页查询&&排序&&集合操作&&高级分组函数

一.  数据库 手工---文件管理---数据库 DB:Database 数据库. DBMS:管理数据库的软件.(oracle) 主流关系数据库: 1.      Oracle 2.      DB2 3.      SQL Server 基本没人使 4.      MySQL  基本没人用,免费 Linux 开源,可以发现漏洞补上 Windows服务器会有补丁,数据易泄漏 eclipse 日食 数据表(Table): 表的行(Row):记录 表的列(Column):字段 二.  关系型数据库 一

Oracle ROWNUM用法和分页查询总结

********************************************************************************************************** [转载] Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用. Oracle分页查询格式(一):http://yangtingkun.itpub.net/post/468/100278 Oracle分页查询格式(二):http://yangtingkun.itpub.ne

详解Oracle的几种分页查询语句

分页查询格式: SELECT * FROM  ( SELECT A.*, ROWNUM RN  FROM (SELECT * FROM TABLE_NAME) A  WHERE ROWNUM <= 40 ) WHERE RN >= 21 其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句.ROWNUM <= 40和RN >= 21控制分页查询的每页的范围. 上面给出的这个分页查询语句,在大多数情况拥有较高的效率.分页的目的就是控制输出结果集

Oracle数据库-多表联合查询&amp;子查询

多表联合查询 当需要获取的数据分布在多张中,考虑使用联合查询1.SQL92方式2.SQL99方式 SQL92方式 1.笛卡尔积:将多个表的数据进行一一对应,所得到结果为多表的笛卡尔积. 结果的数量为所有表的数量的乘积. select * from emp,dept 2.等值连接筛选 概念:先做表的笛卡尔积,然后筛选,筛选条件为等值筛选. 注意:条件为字段的值相同来进行筛选,字段的名字可以不同 查询员工姓名,工作,薪资,部门名称 select * from emp,dept where emp.d

EF 之 MVC 排序,查询,分页 Sorting, Filtering, and Paging For MVC About EF

最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    上篇博客我们学习了EF CodeFirst增删改查之'CRUD',今儿,我们来探讨下MVC下的EF 排序.查询.分页操作 在此,本人先从分页说起 话说,做过webForm项目的程序员用AspNetPage.DLL做过分页,做过EasyUI框架的程序员,用JS AJAX请求分页,那么,MVC 程序员用什么进行分页呢? 当然,MVC程序亦可以使用上述方

oracle 与sql serve 获取随机行数的数据

Oracle 随机获取N条数据    当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这样的目的1) select * from (select * from tablename order by sys_guid()) where rownum < N; 2) select * from (select * from tablename order by dbms_random.va

Oracle执行计划并取得数据行

一个执行计划就是告诉Oracle对于每一个表对象使用哪种访问方法以及什么联接和联接顺序来将多个表联接到一起的一系列命令.执行计划中的每个步骤产生一个行源,然后与另外一个行源相联接,直到所有对象都被访问和联接. Oracle中的查询计划将会完成解析,绑定,执行和提取的步骤. Oracle每次访问数据块的时候,Oracle都会从该块中取出数据行然后在一次回路中返回给客户端.一次返回的行数是一个可配置的值称为列大小.列大小是一个网络回路中一次可以传输的可能行数.而列大小的设置可以是通过编程改变.在SQ

Oracle学习(六):子查询

1.知识点:可以对照下面的录屏进行阅读 SQL> --子查询所要解决的问题:问题不能一步求解 SQL> --查询工资比SCOTT高的员工信息 SQL> --(1)使用普通方法 SQL> --1. SCOTT的工资 SQL> select sal from emp where ename='SCOTT'; SQL> --2. 查询比3000高的员工 SQL> select * 2 from emp 3 where sal>3000; SQL> --(2)

Oracle基础及三层分页查询

一.数据库表空间和数据文件 解析:一个数据库下可以开N个表空间,一个表空间可以包含N个数据文件.表空间是逻辑概念. 二.关于listener.ora位置 修改该界面上的数据,会影响指定路径的监听配置文件 D:\app\asus\product\11.2.0\dbhome_2\NETWORK\ADMIN 三.数据库和实例的关系 数据库(database):物理操作系统文件或磁盘(disk)的集合.使用Oracle 10g的自动存储管理(Automatic Storage Management,AS