Oracle查询语句简单回顾(一)

好久没写博客了,不是工作太忙而是自己太懒惰。。。最近深刻反思了一下自我。决定下面要有规律的生活,工作,学习。
入职新公司快两个月了,在第一个月末的时候误打误撞地填了转正申请,也就提前转正了,公司同事都很热情,部门经理比较‘可爱’,技术大牛。
公司主要做税务稽查软件,涉及到的查询比较多,因此最近抽出时间好好回顾了一下sql的查询语句。在这里简单做一下笔记吧:

这里主要是依托scott用户自带表做练习

  • distinct
    去掉查询结果中重复的部门编号
    select distinct deptno from emp
    去掉deptno,job二者组合的重复
    select distinct deptno,job from emp;
  • where
    查询部门编号等于10的员工信息;
    select * from emp where deptno = 10;
    查询部门编号不等于10的员工信息
    select * from emp where deptno <> 10;
    查询员工姓名等于SCOTT的员工信息
    select * from emp where ename = 'SCOTT'
    查询员工薪水在800到1500之间的员工信息
    select ename,sal from emp where sal between 800 and 1000
    对查询结果中的空值进行处理
    select ename,sal,comm from emp where comm is not null
    查询员工姓名不在范围之内的
    select ename,sal from emp where ename not in ('SMITH','SCOTT');
    查询第二个字母为A的员工信息_表示一个字母
    select ename,sal from emp where ename like '_A%'
  • order by
    desc表示降序asc表示升序
    select * from dept order by deptno desc
    组合降序升序
    `select ename,sal,deptno from emp order by deptno asc,ename desc;
  • sql function
    查询emp表中名字第二个字母不为A且月薪大于800的员工姓名及其年薪并按照月薪降序排列
    select ename,sal * 12 annual_sal from emp
    where ename not like '_A%' and sal > 800
    order by sal desc

    获取所有员工姓名的小写第二个字母为a
    select ename from emp where lower(ename) like '_a%'
    以下和上面的结果相同
    select ename from emp where ename like '_a%' or ename like '_A%'
    从第二个字符截取,一共截取三个字符
    select substr(ename,2,3) from emp;
    字节型转换为字符型A
    select chr(65) from dual
    字符型转换为字节型65
    select ascii('a') from dual
    保留一位小数23.7
    select round(23.652,1) from dual
    四舍五入整数20
    select round(23.652,-1) from dual
    设置数字美元结果格式
    select to_char(sal,'$99_999_999') from emp
    设置数字人民币结果格式
    select to_char(sal,'L9999,999.999') from emp
    设置日期格式,12h制
    select to_char(hiredate,'YYYY-MM-DD HH:MI:SS') from emp;
    设置日期格式,24h制
    select to_char(hiredate,'YYYY-MM-DD HH24:MI:SS') from emp
    设置空值为0
    `select ename,sal*12+nvl(comm,0) from emp

猜你喜欢

转载自blog.csdn.net/Mattscl/article/details/72633344
今日推荐