Oracle笔记_基于样例表的一些基础查询

来源:互联网 发布:构架师和程序员 编辑:程序博客网 时间:2024/05/03 02:47

算数运算

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;

原创粉丝点击