Oracle数据库知识梳理---续(过滤和排序)
来源:互联网 发布:互联网java开发 编辑:程序博客网 时间:2024/05/16 23:20
Oracle数据库
4.过滤和排序
where 过滤
查询比81年1月1日入职晚的员工
select * from emp where hiredate > '01-1月-81'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10
查询在1000~2000之间的员工信息
select * from emp where sal between 1000 and 2000;select * from emp where sal <= 2000 and sal >=1000;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10
查询10 20号部门的员工信息
select * from emp where deptno in (10,20);EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7839 KING PRESIDENT 17-11月-81 5000 10 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7902 FORD ANALYST 7566 03-12月-81 3000 20 7934 MILLER CLERK 7782 23-1月 -82 1300 10
like模糊查询
%代表零个或多个字符(任意个字符);
_代表一个字符.
查询名字S开头的员工信息
select * from emp where ename like 'S%';注意:单引号中的字符区分大小写...EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7369 SMITH CLERK 7902 17-12月-80 800 20 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20
查询名字含有4个字母的员工
select * from emp where ename like '____' ;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7839 KING PRESIDENT 17-11月-81 5000 10 7902 FORD ANALYST 7566 03-12月-81 3000 20
order by 排序
order by 默认按照排序 从小到大
order by + 列名
查询员工信息,按年薪水排序select empno, ename, sal, sal*12 年薪 from emp order by 年薪;EMPNO ENAME SAL 年薪---------- ---------- ---------- ---------- 7369 SMITH 800 9600 7900 JAMES 950 11400 7876 ADAMS 1100 13200 7521 WARD 1250 15000 7654 MARTIN 1250 15000 7934 MILLER 1300 15600 7844 TURNER 1500 18000 7499 ALLEN 1600 19200 7782 CLARK 2450 29400 7698 BLAKE 2850 34200 7566 JONES 2975 35700 7902 FORD 3000 36000 7788 SCOTT 3000 36000 7839 KING 5000 60000 1 tom_abc 8000 96000
遇到空值问题:
按照奖金,查询员工信息select empno,ename,comm from emp order by 3 desc null last;order by 3 desc 根据列表的第三列降序null last 将空值放到最后 EMPNO ENAME COMM---------- ---------- ---------- 7654 MARTIN 1400 7521 WARD 500 7499 ALLEN 300 7844 TURNER 0 7782 CLARK 7788 SCOTT 7839 KING 7876 ADAMS 7900 JAMES 7902 FORD 7698 BLAKE 7566 JONES 7934 MILLER 1 tom_abc 7369 SMITH
order by 后面有多个列,如果多个列中有desc修饰,只作用在最近的一列
按照部门和薪资排序select * form emp order by empno desc,sal desc;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- ---------- --------- ---------- -------------- ---------- ---------- ---------- 7698 BLAKE MANAGER 7839 01-5月 -81 2850 30 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30 7900 JAMES CLERK 7698 03-12月-81 950 30 7902 FORD ANALYST 7566 03-12月-81 3000 20 7788 SCOTT ANALYST 7566 19-4月 -87 3000 20 7566 JONES MANAGER 7839 02-4月 -81 2975 20 7876 ADAMS CLERK 7788 23-5月 -87 1100 20 7369 SMITH CLERK 7902 17-12月-80 800 20 1 tom_abc 8000 10 7839 KING PRESIDENT 17-11月-81 5000 10 7782 CLARK MANAGER 7839 09-6月 -81 2450 10 7934 MILLER CLERK 7782 23-1月 -82 1300 10
阅读全文
0 0
- Oracle数据库知识梳理---续(过滤和排序)
- Oracle数据库知识梳理---续(创建和管理表)
- Oracle数据库知识梳理---续(单行函数,多行函数,分组数据,分组过滤)
- Oracle数据库知识梳理---续(子查询)
- Oracle数据库知识梳理---续(DML语言)
- Oracle数据库(二)过滤和排序
- Oracle数据库之过滤和排序
- Oracle数据库知识梳理---续(多表查询)
- oracle--过滤和排序
- oracle过滤和排序
- Oracle数据库的查询之过滤和排序(二)
- Oracle:过滤和排序数据
- Oracle中的过滤和排序
- Oracle过滤和排序2
- 数据库知识梳理
- MySql数据库 知识梳理
- 电商之梳理oracle相关知识---数据库
- 扒扒数据库长长知识(下载资源组合看)之 03 (过滤和排序数据)
- Ubuntu下Git服务器的搭建与使用指南
- kinect读取骨骼点数据(二)
- JavaWeb项目编写JSP文件出现Can't resolve method println
- 机器学习第六周(一)
- Python爬虫利器三之Xpath语法与lxml库的用法
- Oracle数据库知识梳理---续(过滤和排序)
- Struts2文件下载(含多文件下载)
- 旋转裁剪算法
- Github 简明教程
- node学习之路(四)net模块实现tcp通信
- OBS源码修改小记
- eclipse插件_OpenExplorer
- APUE 3 -- 信号(signal)-I- :概念
- 最公共长子序列的长度