使用数字做条件
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 '%81';
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;
练习 2
第2章 限制和排列数据
1.显示收入大于2850的雇员名称和工资
2.查看雇员编号7566的雇员名字和所在部门号
3.查看BLAKE的工资
4.显示收入在2000和5000之间的人
5.显示收入为1000,2000,3000,5000的人
6.显示奖金不为空的人
7.显示管理者编号为空的人
8.找到名字当中第二个字母为"L"的员工
9.找到工资大于1000的职员
10.找到工资大于1000的或者工作为职员的人
11.找到工作为管理员或者是分析员,并且工资大于2500的人
12.查看雇员名称,工资,将工资按照降序排列
13.查看雇员名称,部门编号,工资,将部门编号按照升序排列,工资按照降序排列
14.做一个用别名排序的例子(随意)
select * from emp where job in ('MANAGER','ANALYZEST') AND SAL>2500;
原文:http://blog.51cto.com/11067624/2141260