查询

作者: 咔狼 | 来源:发表于2018-10-24 23:26 被阅读0次

    普通查询

    • 实际开发慎用
    SELECT * FROM EMP;
    

    查询指定列

    SELECT EMPNO,ENAME,JOB,SAL FROM EMP;
    

    查询指定行

    SELECT EMPNO,ENAME,JOB,SAL,DEPTNO FROM EMP WHERE DEPTNO=10;
    

    查询部门号为20的员工信息,且工资大于1500

    SELECT * FROM EMP WHERE DEPTNO=20 AND SAL>1500;
    

    别名的使用

    SELECT EMPNO 员工号,ENAME 姓名,JOB 职位,SAL 薪资  FROM EMP;
    SELECT EMPNO AS 员工号,ENAME AS 姓名 FROM EMP;
    SELECT E.ENAME,E.JOB FROM EMP E;
    

    查询中使用NULL

    • 0不是NULL
    SELECT * FROM EMP WHERE COMM IS NULL;
    

    使用常量

    SELECT EMPNO,ENAME,'潭州' 工作单位 FROM EMP;
    

    伪列

    • 建立时按顺序,使用条件将始终为1
    • 等于和大于超过1将失效
    SELECT ROWNUM,E.* FROM EMP E;
    SELECT ROWNUM,EMPNO,ENAME FROM EMP WHERE ROWNUM<5;
    SELECT ROWNUM,EMPNO,ENAME FROM EMP WHERE ROWNUM>5;
    SELECT ROWNUM,EMPNO,ENAME FROM EMP WHERE ROWNUM=5;
    SELECT ROWNUM,E.* FROM EMP E ORDER BY SAL;
    

    排序

    • ORDER BY
    • ASC(默认)升序,DESC 降序
    SELECT * FROM EMP ORDER BY SAL ASC;
    SELECT * FROM EMP ORDER BY SAL DESC;
    SELECT * FROM EMP ORDER BY HIREDATE;  --(时间类型排序)
    SELECT * FROM EMP ORDER BY HIREDATE DESC;
    SELECT * FROM EMP ORDER BY ENAME;   --(字符串排序)
    

    查询员工信息,按照工资额升序,如果工资一致就安照入职时间降序

    SELECT * FROM EMP ORDER BY SAL,HIREDATE ASC;
    

    分页查询

    SELECT S.* FROM
    (SELECT ROWNUM R,E.* FROM
    (SELECT * FROM EMP ORDER BY SAL) E) S
    WHERE R>5 AND R<=10;
    

    查询工资大于2000的员工进行排序

    SELECT * FROM EMP WHERE SAL>2000 ORDER BY SAL;
    

    使用别名进行年薪排序

    SELECT EMPNO,ENAME,JOB,SAL*12 年薪 FROM EMP ORDER BY 年薪;
    

    范围查询

    • BETWEEN..AND 范围查找
    • IN 包含查找
    • LIKE 正则表达式模糊查找

    BETWEEN

    SELECT * FROM EMP WHERE SAL BETWEEN 2000 AND 3000;
    SELECT * FROM EMP WHERE SAL>=2000 AND SAL<=3000;
    

    IN

    SELECT * FROM EMP WHERE DEPTNO IN(10,20);
    SELECT * FROM EMP WHERE DEPTNO=20 OR DEPTNO=10;
    

    LIKE

    SELECT * FROM EMP WHERE ENAME LIKE '%A%';
    SELECT * FROM EMP WHERE ENAME LIKE 'A%';
    SELECT * FROM EMP WHERE ENAME LIKE '_A%';
    

    拓展

    查询当前登录用户

    SELECT USER FROM DUAL;   --DUAL 虚表
    

    查询表的约束

    SELECT * FROM USER_CONSTRAINTS WHERE TABLE_NAME='EMP';
    

    查询表结构

    SELECT * FROM USER_TAB_COLS WHERE TABLE_NAME='EMP';
    

    查看当前用户下所有表

    SELECT TABLE_NAME FROM USER_TABLES;
    

    相关文章

      网友评论

          本文标题:查询

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