oracle数据操作(四)

作者: itachi | 来源:发表于2016-11-08 20:24 被阅读40次

    基本查询语句

    from 子句

    指定从哪张表范围内查找数据
    select 字段名from 表名
    查询对应字段的数据

    where子句

    where条件
    根据指定条件的对查询记录进行过滤

    select子句

    select字段名 查询对应字段的数据

    --查询工资大于3000的员工信息

    select * from emp where salary >300
    顺序是 from→where→select

    查询条件

    使用 大于,小于,大于等于,小于等于,等于(=),不等于(!=)、不等于(<>)
    使用and or 关键字

    查询不是20部门且工资大于2000的员工信息
    select *from emp where sal>2000 and deptno !=20;

    or与and优先级问题:or的优先级是最低的,如果需要提高or的优先级必须加上()

    使用in,not in关键字

    查询20或者30部门中工资>2000的员工信息

    select * from emp where deptno in (20,30) and sal >2000

    使用like关键字

    模糊查询
    like不会单独使用,配合_ 或者 %一起使用
    _ 表示单个匹配,%表示多个匹配
    select * from emp where ename like '__A%';

    使用 is null 和 is not null
    使用between ……and……关键字

    在两个值之间,也可以使用>=值1 and <=值2 两端都包括
    select * from emp where sal between 1000 and 2000

    查询81年入职的员工信息
    select * from emp where hiredate between '01-1月-81' and '31-12月-81'
    select *from emp where extract(year from hiredate)=1981;

    使用 any、all关键字

    任意一个,>最小一个即可
    <任意一个,<最大一个即可
    所有,>最大一个即可
    <所有,<最小一个即可

    查询条件中,使用表达式和函数

    查询年薪大于30000
    select* from emp where sal*12 >3000
    查询工资大于30部门所有工资的员工信息
    select * from emp where sal>all(select sal from emp where deptno=20);

    使用distinct关键字

    去除查询结果中重复的数据
    查询员工所在的部门编号
    select distinct deptno from emp

    基本sql高级组成部分

    order by 子句

    排序
    在一条查询语句中,只有一次,且放在语句最后

    查询20部门员工信息,按员工工资顺序排序
    select * from emp where deptno=20 order by sal

    asc:顺序排序关键字(默认的排序规则,asc可缺省)
    desc:倒序排序关键字

    多字段排序

    order by 字段名1,字段名2……
    先将结果数据按照字段1排序,再排完序的结果上,再按照字段2排序
    select * from emp order by deptno ,sal desc

    相关文章

      网友评论

        本文标题:oracle数据操作(四)

        本文链接:https://www.haomeiwen.com/subject/vhtzuttx.html