第2节-过滤和排序数据
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
过滤和排序数据
一.使用where子句(过滤,WHERE 子句紧随FROM 子句)
字符和日期要包含在单引号中。
字符大小写敏感,日期格式敏感。
默认的日期格式是DD-MON月-RR。
操作符含义
= 等于(不是==)
> 大于
>= 大于、等于
< 小于
<= 小于、等于
<> 不等于(也可以是!=)
■如何显示工资高于3000的员工
selectname,sal from emp where sal>3000;
■如何查找1982.1.1后入职的员工
a:select ename,hiredate from emp where hiredate>to day('yyyy-mm-dd',1982.1.1) b:select ename,hiredate from emp where hiredate>'1-1月-1982';
■如何显示工资在2000到2500的员工情况
selectename,sal from emp where sal>=2000 and sal<=2500;
操作符含义
BETWEEN...AND... 在两个值之间(包含边界)
IN(set) 等于值列表中的一个
LIKE 模糊查询
IS NULL 空值
使用betwwen...and...语句
如何显示工资在2000到2500的员工情况
selectename,sal from emp where sal between 2000 and 3000;
■如何使用in操作符
?如何显示empno为123,345,800...的雇员情况
select * from emp where empno in(123,234,456)
■如何使用like操作符
%: 表示任意0到多个字符_: 表示任意单个字符
回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘\’] 即可。
?如何显示首字符为S的员工姓名和工资
selectename,sal from emp where ename like 's%';
?如何显示第三个字符为大写O的所有员工的姓名和工资
selecteame,sal from emp where eame like'--o%';
■使用is null的操作符
?如何显示没有上级的雇员的情况
select * from emp where mgr is null
■使用逻辑操作符号
?查询工资高于500或是岗位为MANAGER的雇员,同时还要
满足他们的姓名首写字母为大写的J
select * from emp where (sal>500 or job='manager') and ename like 'J%';
二.使用order by字句(默认是升降)
?如何按照工资的从低到高的顺序显示雇员的信息
a:select * from emp order by salasc
b:select * from emp order by sal
?按照部门号升序而雇员的入职时间降序排列
select * from empsal order by saldesc
■使用列的别名排序
select ename,sal*12 "年薪" from emp order by "年薪" asc; 别名需要使用“号圈中
优先级(可以使用括号改变优先级顺序)
1 算术运算符
2 连接符
3 比较符
4 IS [NOT] NULL, LIKE, [NOT] IN
5 [NOT] BETWEEN
6 NOT
7 AND
8 OR