算数运算
1、查询每个人的年薪
select sal * 12 "annual salary" from emp;
空值处理
2、查询每个人年薪与奖金的总和(需要考虑空值问题)
select sal * 12 + nvl(comm, 0) as 年薪 from emp;
字符串连接
3、字符串连接 ||
select ename || '---' as "new name" from emp;
字符串中的单引号
4、两个单引号代替字符串中的一个单引号
select deptno || 'aa''b' "new deptno" from dept;
去除重复项
5、distinct 去掉重复组合
select distinct deptno, job from emp;
条件查询
6、查询部门编号为10的员工的名字
select ename, deptno from emp where deptno = 10;
7、查询指定名称的员工信息
select * from emp where ename = 'KING';
8、查询员工部门编号大于10的员工信息
select * from emp where deptno > 20;
9、选择员工工资大于等于800,并且小于等于1500的员工信息
select * from emp where sal between 800 and 1500;
或者
select * from emp where sal >= 800 and sal <= 1500;
查询NULL项
10、查询员工薪金为null的员工的姓名和工资及薪金
select ename, sal, comm from emp where comm is null;
IN
11、查询员工工资为800, 1500或1300的员工的名字和工资
select ename, sal from emp where sal in (800, 1500, 1300);
格式化查询日期
12、查询81年2月20日之后入职的员工信息
select ename, to_char(hiredate, 'YYYY-MM-DD') from emp where hiredate > to_date('1981-02-20', 'YYYY-MM-DD');
模糊查询
13、查询员工姓名中包含LA的员工的名字
select ename from emp where ename like '%LA%';
14、查询员工姓名中第二个字符为A的员工的名字
select ename from emp where ename like '_A%';
自定义转义字符
15、查询员工姓名中带有%号的员工的名字
select ename from emp where ename like '%\%%' escape '\';
排序默认升序ASC,降序DESC
16、按照倒序查询所有部门编号
select deptno from dept order by deptno desc;
按照多列进行排序
17、按照部门编号升序,工资降序查询员工姓名,部门编号及工资
TO_CHAR()
18、格式化输出工资的结果集S99,999.9999
select ename, to_char(sal, '$99,999.9999') from emp;
19、本地货币L
select ename, to_char(sal, 'L99,999.9999') from emp;
20、以0补全格式
select ename, to_char(sal, 'L00,000.0000') from emp;
21、日期转换为字符串
select to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') 系统当前时间 from dual;
TO_DATE()
22、将指定格式YYYY-MM-DD的时间字符串转化为时间
select to_date('2012-12-21', 'YYYY-MM-DD') from dual;
TO_NUMBER()
23、查询员工工资小于$1500.00的员工工资
select sal from emp where to_number('$1500.00','$9999.99') < sal
组函数
24、查询员工的最高工资
select max(sal) from emp;
25、查询员工的最高工资、平均工资和最低工资
select max(sal) 最高工资, avg(sal) 平均工资, min(sal) 最低工资 from emp;
26、查询所有员工每个月的工资总和
select sum(sal) from emp;
27、查询一共有多少位员工
select count(*) from emp;
28、查询一共多少员工具有奖金
select count(comm) from emp;
29、查询员工一共属于多少个部门
select count(distinct deptno) from emp;
30、查询每个部门的平均工资
select deptno, avg(sal) from emp group by deptno;
31、查询按照部门和工种分类的平均薪水
select deptno, job, avg(sal) from emp group by deptno, job;