数据库之基础查询

使用>,<,>=,<=,!=,<>,=等来做简单的基础条件筛选

  • 查询职员表中薪水低于2000的职员信息
    SELECT ename,sal FROM emp where sal < 2000;
  • 查询志愿表中不属于部门10的职员信息(!=等价于<>)
    SELECT ename,sal,job FROM emp where deptno <>10;
  • 查询员工表内2002年以后入职的员工信息
    SELECT ename,sal,hiredate FROM emp where hiredate>to_date('2002-01-01','YYYY-MM-DD');

逻辑操作符AND,OR

  • 在SQL操作中,如果希望返回值的结果满足多个条件使用逻辑操作符AND;
    eg:查询薪水大于1000并且职位是‘CLERK’的职员信息
    SELECT ename,sal,job from emp where sal>1000 AND job='CLERK';
  • 在SQL操作中,如果希望返回值的结果满足多个条件中的一个使用逻辑操作符OR;
    eg:查询薪水大于1000或者职位是‘CLERK’的职员信息
    SELECT ename,sal,job from emp where sal>1000 OR job='CLERK';

比较操作符LIKE(模糊查询)

  • 当用户在进行查询的时候,不能完全确定查询条件或只知道一部分信息,借助比较操作符LIKE来完成模糊查询。
  • 其中,存在两个通配符来构造灵活的查询条件
    • % 表示0到多个字符
    • _ 表示单个字符
      eg:
      _A%表示第二个字符为A

比较操作符IN和NOT IN

  • 当需要取出符合列表范围内的数据使用比较操作符IN(list)
    • list表示值列表,当列或表达式匹配与列表内的值,条件为true,该条数据被显示
    • 比较操作符IN,可以理解为一个指定的指列表
      eg:查询职位是MANAGER或者CLERK的员工
      • SELECT ename,job,from emp where job IN('MANAGER','CLERK');

      • SELECT ename,job from emp where job='CLERK' OR job='MANAGER'

  • NOT IN(list) 则是取出不符合此列表中的数据记录
    eg:查询不是部门10或20的员工
    SELECT ename,job FROM emp where deptno NOT IN(10,20)

比较操作符BETWEEN…AND

  • 用于描述在某个范围内的数据,一般多用于数字类型,对于日期和字符同样适用
    eg:查询薪水在1500-3000之间的职员信息
    SELECT ename,sal from emp where sal between 1500 and 3000

IS NULL&IS NOT NULL

  • 空置null是一个特殊的值,比较的时候不能使用“=”号,必须使用is null,否则不能得到正确的结果
    eg:查询哪些职员的奖金数据为null
    SELECT ename,sal,comm from emp where comm is null

ANY和ALL条件

  • ANYALL不能单独使用,需要配合单行比较操作符一起使用
  • ANY是任意一个,ALL 是所有。即 ANY表示任何一个满足就返回 TRUE,而ALL 表示全部都满足才返回TRUE
    1. >ANY表示至少大于一个值,即大于最小值

    2. <ANY表示至少小于一个值,即小于最大值

    3. >ALL表示大于全部值,即大于最大值

    4. <ALL表示小于全部值,即小于最小值

      eg:查询大于给定薪水内最小值的员工信息
      select * from emp where sal > ANY (3500,4500,5500)

在查询条件中使用表达式或函数

  • 当需要在查询出来的内容上进行进一步的计算,可以直接在所查询出信息的数字列上进行运算,即使用算术表达式(+,-,*,/)
  • 日期类型的信息列同样可以进行加减运算,等同于在某个日期上加减天数
  • 算术表达式同样遵循四则运算的优先级,若需要改变优先级,可以是用括号进行调整

DISTINCT 关键字

  • 使用DISTINCT对数据表内没有意义的重复值进行去重操作。
    eg:查询员工的部门编码
    select deptno from emp
    查询员工的部门编码并去重
    select DISTINCT deptno from emp
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值