美文网首页
Oracle 表基本查询 - where \ like \ or

Oracle 表基本查询 - where \ like \ or

作者: Down1 | 来源:发表于2020-10-23 10:15 被阅读0次

      表基本查询用 PL/SQL 的 scott 用户自带的四个表,选用两个表进行练习。

    • 雇员表 emp


      emp表
    • 部门表 dept


      dept表

    一、简单查询

    • 查看表结构
    desc dept;
    
    • 查看所有列 ( 如果是大量数据,不推荐使用此查询命令 )
    select * from dept;
    
    • 查询指定列 ( 如果是大量数据,推荐使用此查询命令 )
    select userId from users;
    
    • 打开显示操作时间
    set timing on;
    
    • 复制多个数据
    create table users(userid varchar2(20),username varchar2(30),userpssvarchar2(30));//先创建一个users表
    insert into users values('a001','哈哈哈哈哈啊飒飒','qwert12345');//插入一条数据
    insert into users values(userid,username,userpss) select * from users;//复制刚刚插入的数据,可以多次复制
    
    • 查看多少行数据
    select count (*) from users;
    
    • 取消重复行
    select distinct deptno,job from emp;  //取消deptno 和 Job 所出现的重复行
    
    • 查询 SMITH 的薪水,工作,所在部门。
      (oracle对类大小写有区分,对sql语句不区分)
    select sal,job,deptno from emp where ename = 'SMITH';
    
    • 显示每个雇员的年工资
    select sal*12,ename from emp;
    
    • 使用列的别名
    select sal*12 "年工资",ename from emp;
    
    • 处理 null 值,使用 nvl
      员工 12 个月的总共的工资+奖金(因为奖金有些人会出现空值)
    select sal*12+nvl(comm,0)*12 "年工资",ename,comm from emp;
    

    二、where语句

    • 显示工资高于 3000 的员工
    select ename,sal from emp where sal>3000;
    
    • 显示入职日期,在某年某月入职得员工
    select ename,hiredate from emp where hiredate>='1-1月-1980';
    
    • 显示多条件时,用and来连接条件,比如:显示工资到 2000 到 2500 之间得员工。
    select ename,sal from emp where sal>=2000 and sal<2500;
    

    三、like 操作符

    % :表示任意0个到多个字符
    _ :表示任意单个字符

    • 显示首字母为 S 的员工,工资
    select ename,sal from emp where ename like 'S%';
    
    • 显示第三个字符为 O 的所有员工,工资
    select ename,sal from emp where ename like '__O%';
    

    四、where语句中 in 表达

    • 显示员工 empno 中 7499,7521,7788,7900员工的情况
    select * from emp where empno in (7499,7521,7788,7900);
    

    五、is null 语句

    • 显示没有上级的雇员信息
    select * from emp where MGR is null;
    

    六、逻辑符号

    或:or
    和:and

    • 查询工资高于 500 或是岗位为 MANGER 的雇员,同时还要满足他们的姓名首字母为大写的 J
    select * from emp where (sal>500 or job='MANGER') and ename like 'J%';
    

    七、order by 语句

    升序,由低到高:order by 默认排序 或 asc
    降序,由高到低:desc

    • 按照雇员的工资由低到高显示雇员的信息
    select * from emp order by sal;
    
    • 按照部门号升序,工资降序显示雇员信息
    select * from emp order by deptno asc,sal desc;
    
    • 按照部门号升序,工资降序显示雇员信息,同时按照入职时间降序
    select * from emp order by deptno,sal desc,hiredate desc;
    
    • 使用列的别名进行排序
    select ename,sal*12 as "年薪" from emp order by "年薪";
    

    相关文章

      网友评论

          本文标题:Oracle 表基本查询 - where \ like \ or

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