zoukankan      html  css  js  c++  java
  • 多值检测

    “公司要为年龄为23岁、25岁和28岁的员工发福利,请将他们的年龄、工号和姓名检索出来”,要完成这样的功能,我们可以使用OR语句来连接多个等于判断。SQL语句如下:

    
    SELECT FAge,FNumber,FName FROM T_Employee WHERE FAge=23 OR FAge=25 OR FAge=28
    

    执行完毕我们就能在输出结果中看到下面的执行结果:

    这里要检索的年龄值是很少的,只有3个,如果要求我们“检索年龄为21岁、22岁、25岁、28岁、30岁、33岁、35岁、38岁、46岁的员工信息”,那么我们就要用OR连接九个等于判断:

    
    SELECT FAge,FNumber,FName FROM T_Employee WHERE FAge=21 OR FAge=22 OR FAge=25 OR FAge=28 OR FAge=30 OR FAge=33 OR FAge=35 OR FAge=38 OR FAge=46
    

    这不仅写起来是非常麻烦的,而且维护的难度也相当大,一不小心就会造成数据错误。为了解决进行多个离散值的匹配问题,SQL提供了IN语句,使用IN我们只要指定要匹配的数据集合就可以了,使用方法为“IN (值1,值2,值3……)”。要完成“公司要为年龄为23岁、25岁和28岁的员工发福利,请将他们的年龄、工号和姓名检索出来”这样功能的话,可以使用下面的SQL语句:

    
    SELECT FAge,FNumber,FName FROM T_Employee WHERE FAge IN (23,25,28)
    

    执行完毕我们就能在输出结果中看到下面的执行结果:

    可以看到执行结果和使用OR语句来连接多个等于判断的方式是一样的。

    使用IN我们还可以让字段与其他表中的值进行匹配,比如“查找所有姓名在迟到记录表中的员工信息”,要实现这样的功能就需要IN来搭配子查询来使用。

  • 相关阅读:
    携程机票实时数据处理实践及应用
    关系型数据库表设计
    tornado
    Poisson distribution 泊松分布 指数分布
    Interpret bytes as packed binary data
    python爬虫爬取内容中,-xa0,-u3000的含义
    Okapi BM25 (BM stands for Best Matching)
    一主
    分片 副本
    暂时无法提交申请 帐号类型修改
  • 原文地址:https://www.cnblogs.com/yuyu666/p/9820054.html
Copyright © 2011-2022 走看看