简单的查询语句
1、查看表结构
- desc dept;
2、查询所有列
- select * from dept;
3、查询指定列
- select ename,sal,job,deptno from emp;
4、取消重复行
- select distinct deptno,job from emp;
5、使用算术表达式
- 显示每个雇员的年工资
- select ename,sal*12 from emp;
6、使用列的别名
- select ename “姓名”,sal*12 as "年收入" from emp;
7、如何处理Null值(运算时,如果某一值为Null,则结果为Null)
- 使用nvl函数来处理
- select ename “姓名”,sal*12+nvl(comm,0)*12 as "年收入" from emp;
8、如何连接字符串(||)
- select ename || 'is a' || job from emp;
9、使用where子句
- 显示工资高于3000的员工
- select * from emp where sal>3000;
- 查找1982.1.1后入职的员工
- select * from emp where hiredate>'1-1月-1982';
- 显示工资在2000到2500的员工情况
- select * from emp where sal>=2000 and sal<=2500;
10、使用like操作符
- %:表示任意0到多个字符。
- _:表示单个字符。
- 显示首字母为S的员工姓名和工资
- select ename,sal from emp where ename like 'S%';
- 显示第三个字符为大写O的所有员工的姓名和工资
- select ename,sal from emp where ename like '__O%';
11、在where标间中使用In
- 显示empno为123,345,800……的雇员情况
- select * from emp where empno in (123,345,800);
12、使用is null的操作符
- 显示没有上级的雇员的情况
- select * from emp where mgr is null;
13、使用逻辑操作符号
- 查询工资高于500或是岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J
- select ename,job,sal from emp where (sal> 500 or job= 'MANAGER') and ename like 'J%' ;
14、使用order by子句
- 按照工资的从低到高的顺序显示雇员的信息
- select * from emp order by sal asc;
- 按照部门号升序而雇员的工资降序排列
- select * from emp order by deptno,sal desc;
- 按照部门号升序而雇员的入职时间降序排列
- select * from emp order by deptno,hiredate desc;
15、使用列的别名排序
- select ename,sal*12 "年薪" from emp order by "年薪" asc;
- 别名需要放在“”中