美文网首页
Oracle简单查询

Oracle简单查询

作者: 闫子扬 | 来源:发表于2018-05-02 11:29 被阅读0次

    --1.查询表中所有数据
    select * from 表名;

    --2.伪列rowid的使用
    --数据库中的每一行都有一个行地址,ROWID伪列返回该行地址
    --通常情况下, ROWID值可以唯一地标识数据库中的一行
    select empid,empname,rowid from emp;

    --3.伪列rownum的使用
    --对于一个查询返回的每一行,伪列ROWNUM返回一个数值代表行的次序
    --只能使用<或<=,不要使用>、>=、及=(特例=1)
    --查询表中前 5 条记录
    select empno,enpname from emp where rownum<=5;

    --4.查询排序(order by 子句,默认为升序)
    --语法:SELECT 列名1[,列名2…列名n] FROM 表名ORDER BY 表达式 [ASC|DESC]
    --ASC:升序排列 DESC:降序排列
    --从emp表中查询员工编号、员工姓名和员工工资,查询结果按工资从高到低排列.
    select empno,enmpname,sal from emp order by sal desc;

    --可以按照多个列进行排序,而且排序方式可以不同
    select * from emp order by empno asc,sal desc;

    --5.where 子句的使用
    select * from emp where empno=5;

    select * from emp where sal>3000;

    --6.消除重复行 distinct 关键字
    select distinct job,empno,ename from emp;
    --以上三列都相同时才会有效果

    --7.符合搜索条件
    --WHERE子句中经常使用的逻辑运算符包括:NOT(非)、AND(与)、OR(或)

    --8.between 。。。and。。。使用BETWEEN… AND…关键字可以方便的限制查询数据的范围
    --语法:SELECT 列名1[,列名2…列名n]
    FROM 表名
    WHERE 表达式 [NOT] BETWEEN 表达式1 AND 表达式2

    --9.模式匹配(模糊查询)like
    --%(百分号) 表示从0~n个任意字符
    -- _下划线) 表示单个的任意字符

    --10.分页
    --1)不排序情况下:
    select from emp where rownum>=(当前页面-1)每页记录数+1 and rownum<=(当前页码每页记录数);

    --2)排序,where条件限制之后分页
    --首先将要排序或者要过滤的数据查询出来,作为一个虚拟表,然后再从这个虚拟表上查询数据进行rownum分页
    select * from(select * from emp order by sal) where rownum>=1 and rownum<=3;

    --11.聚合函数
    --SUM(表达式) 返回表达式中所有数值的总和,忽略空值
    --AVG(表达式) 返回表达式中所有数值的平均值,忽略空值
    --MIN(表达式) 返回表达式中所有数值的最小值,忽略空值
    --MAX(表达式) 返回表达式中所有数值的最大值,忽略空值
    --COUNT(*|表达式) 返回满足SELECT语句中指定的条件的记录条数;为表达式时忽略空值

    --12.分组查询
    SELECT deptno, avg(sal), max(sal) FROM emp
    GROUP BY deptno;

    --13.having 子句
    SELECT deptno, avg(sal) FROM emp
    GROUP BY deptno
    HAVING avg(sal)>2000;

    --14.保存查询两种方法:
    --1)将查询结果保存到一张新表中:
    CREATE TABLE <newtable>
    AS
    SELECT 语句

    INSERT INTO emp1
    SELECT * FROM emp WHERE deptno=20;

    --2)将查询的结果保存到一个旧表(原来存在)中,也可以理解为是一个批量插入数据的命令

    INSERT INTO target_table(column_list)
    SELECT 语句

    相关文章

      网友评论

          本文标题:Oracle简单查询

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