您的位置:首页 > 数据库 > Oracle

ORACLE SQL WHERE和ORDER BY

2015-06-18 14:31 351 查看
第二章:限制(where子句)和排列数据(order by子句)
限制数据访问:
使用数字做条件
select ename,sal,deptno from emp where DEPTNO=10;

使用字符做条件,字符串要单引,大小写敏感!
select ename,sal,deptno from emp where ename='king';
select ename,sal,deptno from emp where ename='KING';

使用日期做条件,格式敏感!
select ename,hiredate from emp where hiredate='23-JAN-82';

借助系统函数查看系统日期格式:
select sysdate from dual;
select * from nls_database_parameters;

在where条件中使用单行比较符号
> , < , = ,>= ,<= ,<> !=

在where条件中使用逻辑运算
and , or , not

检索符合下列条件的数据:
工资大于2000的雇员
工资大于2000并且小于3000的雇员
工资大于2000或者小于1000的雇员

特殊比较符:
between and 相当于 ( >= and <= )
select ename,sal from emp where sal between 2000 and 3000;

in (set list): 枚举方式取数据,in后面跟随一个集合列表!
select ename,sal from emp where sal in (1000,2000,3000);

like : 能够做模糊匹配
select ename from emp where ename like 'M%';
select ename,hiredate from emp where hiredate like '';
select ename from emp where ename like '_L%';
select ename from emp where ename like '_ _%' escape ' ';

is null (is not null) : 过滤空值
select ename,comm from emp where comm is null;
select ename,comm from emp where comm is not null;

补充:在查询中使用rownum伪列,rownum是结果集的编号!
select rownum,ename from emp;
select * from emp where rownum<6;

排列结果集:
升序排列结果集
select ename,sal from emp order by sal;

降序排列结果集
select ename,sal from emp order by sal desc;

对别名排序
select ename,sal*12 ann_sal from emp order by ann_sal;

多列排序
select ename,deptno,sal from emp order by deptno desc,sal desc;

select ename,deptno,sal from emp order by 2,3 desc;

select * from emp order by 5;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle sql where