• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle基础学习之简单查询和限定查询

    本文主要介绍的是关于Oracle中的简单查询和限定查询,下面话不多说,来一起看看吧。

    SQL:

         1,DML(数据操作语言):主要指的是数据库的查询与更新的操作,查询操作是整个sql语法 中最麻烦也是笔试中最常用的部分。

         2,DDL(数据定义语言):主要指的是数据对象的创建(表、用户、)例如:creat.需要相关的设计范式。

         3,DCL(数据控制语言):主要进行权限的操作(需要结合用户来观察),此部分由DBA负责。

    简单查询:

    1,利用select 子句控制要显示的数据列:

     select empno,ename,ename,job,sal from emp;

    2,可以使用distinct来消除重复的数据行显示:

     select distinct job from emp;

    3,select子句可以进行四则运算,可以直接输出常量内容,但是对于字符串使用单引号数字直接编写,日期格式按照字符格式:

    select empno,ename,(sal*15+(200+100)) income from emp;

    4,||负责输出内容连接此类的操作很少直接在查询中出现:

     select empno||ename from emp;

    5,where子句一般都写在from子句之后,但是是紧跟着from子句之后执行的,where子句控制显示数据行的操作,而select控制数据列,select子句要落后于where子句执行,所以在select子句之中定义的别名无法在where中使用。

    限定查询:

    1,关系运算符:

     select * from emp where sal>1500;
    
     select * from emp where ename ='SMITH'
    
     select empno,ename,job from emp where job>'SALESMAN';

    2,逻辑运算符:

     select * from emp where sal>1500 and sal3000;
     select * from emp where sal>2000 or job='CLERK';
     select * from emp where not sal >=2000;

    3,范围查询:

     select * from emp where sal between 1500 and 2000;
     select * from emp where hiredate between '01-1月-1981'and'31-12月-1981';

    4,空判断(空在数据库上表示不确定,如果在数据列使用null不表示0)

    select * from emp where comm is not null;

    5,IN操作符(类似于between and 而in给出的是指定的范围):

     select * from emp where empno in (7369,7566,7788,9999);

    关于not innull的问题:

    在使用not in 进行范围判断的时候,如果范围有null,那么不会有任何结果返回。

    6,模糊查询:

    “-”:匹配任意一位字符;

    “%”:匹配任意的0,1,,或者多位字符;

    查询姓名是以字母A开头的雇员信息:

     select * from emp where ename like 'A%'

    查询姓名第二个字母是A的雇员信息:

    select * from emp where ename like '_A%';

    查询姓名任意位置是A的雇员信息:

     select * from emp where ename like '%A%';

    查询排序:

    ASC(默认):按照升序排列;

    DESC: 按照降序排列;

    查询所有的雇员信息,要求按照工资的由高到低:

     select * from emp order by sal desc;

    查询每个雇员的编号,姓名,年薪,按照年薪由低到高排序:

      select empno ,ename,sal*12 income from emp order by income;

    语句的执行顺序:from - where -select - order by

    基础练习:

    1,选择部门30中的所有员工:

     select * from emp where deptno=30;

    2,列出所有办事员(clerk)的姓名,编号,和部门编号:

    select ename,empno,deptno from emp 
    where job='CLERK';

    3,找出佣金高于薪金的60%的员工:

     select * from emp where comm>sal*0.6 ;

    4,找出部门10中所有的经理(manager)和部门20中所有的办事员(clerk):

     select * 
     from emp 
     where (deptno=10 and job='MANAGER' )or(deptno=20 and job='CLERK'   );

    5,找出部门10中所有的经理(manager),部门20中的所有办事员(clerk),以及既不是经理又不是办事员但是工资高于等于2000的所有员工资料:

     select *
     from emp
     where (deptno=10 and job='MANAGER')or(deptno=20 and
     job='CLERK')or(job! ='MANAGER'and job!='CLERK' and sal>=2000);
      select *
      from emp
      where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job
      not in ('CLERK','MANAGER') and sal>=2000);

    6,找出收取佣金的员工的不同工作:

    select distinct job
     from emp
     where comm is not null;

    7,找出收取佣金或者收取的佣金低于100的员工:

      select distinct job
      from emp
     where comm is null or comm100;

    8,显示不带有“R”的员工姓名:

     select *
     from emp
     where ename not like '%R%';

    9,显示姓名字段含有A的所有员工姓名,显示的结果按照基本的工资由高到低,如果工资相同,则按照雇佣年限由早到晚,如果雇佣日期相同,则按职位排序:

     select * from emp where ename like '%A%' order by sal desc,hiredate
     asc,job;

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

    您可能感兴趣的文章:
    • Oracle基础学习之子查询
    • ORACLE 如何查询被锁定表及如何解锁释放session
    • oracle 查询表名以及表的列名
    • oracle表空间表分区详解及oracle表分区查询使用方法
    • oracle查询语句大全(oracle 基本命令大全一)
    • php连接oracle数据库及查询数据的方法
    • oracle数据库常用的99条查询语句
    • Oracle 表空间查询与操作方法
    • oracle常用sql查询语句部分集合(图文)
    • mysql仿oracle的decode效果查询
    上一篇:Oracle基础学习之子查询
    下一篇:Oracle存储过程和自定义函数详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Oracle基础学习之简单查询和限定查询 Oracle,基础,学,习之,简单,