oracle篇 之 排序、限制查询行

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

一、order by子句

1.order by排序规则

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

(2)desc,降序排列

(3)order byselect命令的最后一个子句

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 bynull值处理

(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)ascdesc只修饰一个列

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值