使用特殊关系运算符查询

  • 特殊关系运算符

    IN、NOT IN
    IS NULL、IS NOT NULL
    BETWEEN、NOT BETWEEN
    LIKE、NOT LIKE
  • IN , NOT IN

    • IN 在集合中

    • NOT IN 不在集合中

    • 例1 查询籍贯是陕西、河南的学生

      SELECT * FROM Student
      WHERE province IN('陕西', '河南')
       
    • 例2 查询籍贯不是是陕西和河南的学生

      SELECT * FROM Student
      WHERE province NOT IN('陕西', '河南')
      --IN(11,12,13), IN('2015-10-1','2016-10-1'), 用逗号隔开的数据类型应该和IN前面的类型相同
  • IS NULL, IS NOT NULL

    • IS NULL 是空

    • IS NOT NULL 不是空

    • 例3 查询没填电话号码的学生

      SELECT * FROM Student
      WHERE stel is NULL
    • 例4 查询填了电话号码的学生

      SELECT * FROM Student
      WHERE stel is NOT NULL
  • BETWEEN, NOT BETWEEN

    • BETWEEN AND, 在两值之间

    • NOT BETWEEN AND, 不在两值之间

      • 两值可以是数值、字符串或日期型数据

    • BETWEEN 起始值 AND 终止值

    • NOT BETWEEN 起始值 AND 终止值

    • 例5 查询年龄在18到20岁的学生信息

      SELECT * FROM Student
      where sage BETWEEN and
    • 例6 查询年龄小于18岁或大于20岁的学生信息

      SELECT * FROM Student
      WHERE sage NOT BETWEEN and
    •  
      注意:
      1. 区间是闭区间 
      2. 两值的类型可以是数值、字符串或日期型 
      3. 日期作终止值时,不包括终止值那天.
       
  • LIKE, NOT LIKE

    • 实现模糊匹配查询

      • LIKE 字符串

      • NOT LIKE 字符串

        • %,匹配0个或多个任意字符

        • _ , 匹配一个任意字符

        • [],匹配集合中的任意一个字符 [ABC]

        • [^],不匹配集合中的任何字符 [^ABC]

      • 例7 查询姓'陈'的同学信息

        SELECT * FROM Student
        WHERE sname LIKE '陈%'
      • 例8 查询名字中含有“雨”的同学的信息

        SELECT * FROM Student
        WHERE sname LIKE '%雨%'
      • 例9 查询姓“郑”的,且名字为两个字的同学的信息

        SELECT * FROM Student
        WHERE sname LIKE '郑_'
      • 例10 查询姓为赵、钱、孙、李的同学的信息

        SELECT * FROM Student
        WHERE sname LIKE '[赵钱孙李]%'
      • 例11 查询姓不是赵、钱、孙、李的同学的信息

        SELECT * FROM Student
        WHERE sname LIKE '[^赵钱孙李]%'

SQL语句(九)使用特殊关系运算符查询的更多相关文章

  1. SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比

    原文:SQL点滴10-使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比 今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章 ...

  2. sql语句编写 有时候一个子查询可以拆分成多个子查询

    sql语句编写 有时候一个子查询可以拆分成多个子查询

  3. ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)

    ASPNETCOREAPI 跨域处理 AspNetCoreApi 跨域处理 如果咱们有处理过MV5 跨域问题这个问题也不大. (1)为什么会出现跨域问题:  浏览器安全限制了前端脚本跨站点的访问资源, ...

  4. python快速导出sql语句(mssql)的查询结果到Excel,解决SSMS无法加载大字段的问题

    遇到一个尴尬的问题,SSMS的GridView对于大字段的(varchar(max),text之类的),支持不太友好的,超过8000个长度之外的字符,SSMS的表格是显示不出来的(当然也就看不到了), ...

  5. oracle SQL语句练习MERGE、模糊查询、排序、

    Oracle支持的SQL指令可分为数据操作语言语句.数据定义语言语句.事务控制语句.会话控制语句等几种类型:1.数据操作语言语句数据操作语言语句(Data manipulation language, ...

  6. 原!!mybatis如何直接 执行传入的任意sql语句 并按照顺序取出查询的结果集

    需求: 1.直接执行前端传来的任何sql语句,parameterType="String", 2.对于任何sql语句,其返回值类型无法用resultMap在xml文件里配置或者返回 ...

  7. Hibernate criteria 混合sql语句多表关联时查询注意事项

    直接进入正题 假设有一个实体类 /** * 产品分类 */ public class ProductType{ @Id private String no;//编号 private String na ...

  8. 使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比

    今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章,自己添加了一些内容,做了简单的总结,这个语句还是第一次见到,学习了.我从简单到复杂地写, ...

  9. sql语句回忆录1-多表连接子查询

    --多表连接查询,在多张表中查询符合条件的记录--注意:给表起简短的别名select * from emp e--给字段起别名:字段名 别名,当别名为数字(包括数字开头)或者有空格时需要用双引号括起来 ...

随机推荐

  1. rabbitMQ教程(三)一篇文章看懂rabbitMQ

    一.rabbitMQ是什么: RabbitMQ,遵循AMQP协议,由内在高并发的erlanng语言开发,用在实时的对可靠性要求比较高的消息传递上. 学过websocket的来理解rabbitMQ应该是 ...

  2. 树莓派Raspberry Pi微改款,Model B 3+规格探析

    18年3月树莓派基金会推出了ModelB 3+版的新款树莓派单板计算机.从编号数字上看,3+仅是3的再提升,在规格上有小幅异动,究竟改进或提升了哪些部分,本文将对此进行探讨. 树莓派版本观察 从过往的 ...

  3. CentOS7安装OpenStack(Rocky版)-01.控制节点的系统环境准备

    分享一下Rocky版本的OpenStack安装管理经验: OpenStack每半年左右更新一版,目前是版本是201808月发布的版本-R版(Rocky),目前版本安装方法优化较好,不过依然是比较复杂 ...

  4. ejs 模板使用方法

    http://embeddedjs.com/ Embedded JS Templates Embedded JS(EJS) 来源于ERB模板,且与ERB有很多相似之处.它有着与ERB相同的Tag,且包 ...

  5. 《Linux内核分析》第五周

    20135103王海宁 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 这周的实验在上周实验四的基础上, ...

  6. 调研ios开发环境的演变

    一:ios的发展演变: 以下两句为百度百科IOS,可自行查阅,不多赘述,就Ctrl+c,Ctrl+v两句表示一下. 2007年1月9日苹果公司在Macworld展览会上公布,随后于同年的6月发布第一版 ...

  7. 这家伙好像还不错 ZH奶酪-张贺

    http://www.cnblogs.com/CheeseZH/archive/2012/11/23/2783846.html

  8. java 读写 excle 完整版

    pom.xml <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</a ...

  9. linux 开机直接进入命令行

    一.图形界面和命令行切换 linux系统在启动图形化界面后,可以在图形界面和命令行之间来回切换,linux提供了6个命令行终端(terminal或Console),分别为tty1——tty6,使用Ct ...

  10. powershell远程管理服务器磁盘空间的实现代码

    一.启用远程管理 1.将管理服务器的trusthost列表改为* 运行Set-item wsman:localhostclienttrustedhosts ?value * 2.在远程服务器上运行En ...