• Between..And

--between...and...在数据库内部是做作特殊优化的,执行效率比> and<等这种方式快;
--between a and b 相当于:字段>=a and字段<=b

例如:

SELECT * FROM dbo.MyStudent WHERE S_Age BETWEEN 20 AND 30

SELECT * FROM dbo.MyStudent WHERE S_Age>=20 AND S_Age<=30

Between ..and还可以做分页。

比如,我现在设置每一页显示3条数据

传统的做法:

第一页:

SELECT TOP 3 * FROM dbo.MyStudent

第二页:

SELECT *FROM dbo.MyStudent WHERE S_ID BETWEEN 4 AND 6

...

总结分页:

SELECT * FROM dbo.MyStudent WHERE S_ID BETWEEN (当前页-1)*页容量+1  AND 当前页*页容量

  • IN关键字

判断一个列的值,是否在括号内:

SELECT * FROM dbo.MyStudent WHERE S_Gender IN ('女')--正确
SELECT * FROM dbo.MyStudent WHERE S_Gender IN(1) --错误,数据类型不同【在将 varchar 值 '男' 转换成数据类型 int 时失败。】

  • 模糊查询

使用系统已经定义好的通配符,按照定义的规则匹配数据,如果能匹配就查出来:

通配符,匹配符:_(下划线),%(百分号),[](中括号),^(尖括号)

_代表一个任意字符;

%代表零个或多个任意字符;

[]中括号代表一个字符的取值区间;

^配和[]使用,表示不是这个区间。注意,^z字符是数据库不兼容的,SQL Server可以用,其他数据库用not like

--查找姓“张”的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '张%'

--查找名字中包含字母‘o’的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%o%'

--查找名字的第二位是字母'i'的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '_i%'

--取值区间,用的很少。。
--查询中间任何位置有字母的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[a-z]%'

--取值区间,用的很少。。

--查询中间任何位置有数字的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[0-9]%'

--查找名字中有字母或数字的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[0-9,a-z]%'

--SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '张四'
--表中有名字为张四的学生,现在判断,_(下划线)是否可以匹配零个字符。如果可以的话,下面的这句SQL可以检索到数据
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '张四_'

事实证明:_下滑线不能匹配零个字符,也就是说,下划线代表后面必须有一个字符!!!

--查询最后一位不是数字的学生信息
SELECT * FROM dbo.MyStudent WHERE S_Name LIKE '%[^0-9]%'

SQ--模糊查询的更多相关文章

  1. Mybatis框架的模糊查询(多种写法)、删除、添加(四)

    学习Mybatis这么多天,那么我给大家分享一下我的学习成果.从最基础的开始配置. 一.创建一个web项目,看一下项目架构 二.说道项目就会想到需要什么jar 三.就是准备大配置链接Orcl数据库 & ...

  2. js—模糊查询

    首先要明白什么是模糊查询(废话又来了),就是根据关键字把列表中符合关键字的一项或某项罗列出来,也就是要检查列表的每一项中是否含有关键字,因此抽象一下就是一个字符串中是否含有某个字符或者字符串. 以下例 ...

  3. mybatis : trim标签, “等于==”经验, CDATA标签 ,模糊查询CONCAT,LIKE

    一.My Batis trim标签有点类似于replace效果. trim 属性, prefix:前缀覆盖并增加其内容 suffix:后缀覆盖并增加其内容 prefixOverrides:前缀判断的条 ...

  4. combobox实现模糊查询自动填充

    利用winform设计软件界面时,经常用到combobox控件,但有时需要绑定数据表中的数据,更进一步,需要实现对数据表中数据的模糊查询功能.本文就讲讲述如何用C#实现combobox下拉列表的模糊查 ...

  5. [转]ORACLE中Like与Instr模糊查询性能大比拼

    instr(title,'手册')>0  相当于  title like '%手册%' instr(title,'手册')=1  相当于  title like '手册%' instr(titl ...

  6. 关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询

    前言 上一篇关系数据库常用SQL语句语法大全主要是关系型数据库大体结构,本文细说一下关系型数据库查询的SQL语法. 语法回顾 SELECT [ALL|DISTINCT] <目标列表达式>[ ...

  7. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

  8. SQL SERVER 的模糊查询 LIKE

    今天写个动态脚本,需要把数据库里面包含“USER_"的表删除掉,突然想不起来如何搜索通配字符了,赶紧查查MSDN,整理了下模糊查询的知识点,留着以后查阅用. LIKE模糊查询的通配符 通配符 ...

  9. SQL Like模糊查询一些小知识

    模糊查询: where mc like '值':返回值等同于where mc ='值' where mc like '%值':匹配 名称是 '*值'(以“值”作为结尾)的所有数据,*表示任何值任何长度 ...

  10. 10月30日下午 PHP精确查询(模糊查询、模糊+关键字共同查询)

    1.一个条件的模糊查询 <body> <br /> <form action="main.php" method="post"&g ...

随机推荐

  1. RCP:为指定的导航器添加上下文菜单

    可以参考Eclipse的Help->Help Content下的: Platform Plug-in Developer Guide > Programmer's Guide > P ...

  2. JavaScript使用DeviceOne开发实战(六)点墨真实案例

    qq群里的yan用户开发的App,基本完工大家可以看看 安装二维码是 QQ群:365443130

  3. Java提高篇(三四)-----fail-fast机制

    在JDK的Collection中我们时常会看到类似于这样的话: 例如,ArrayList: 注意,迭代器的快速失败行为无法得到保证,因为一般来说,不可能对是否出现不同步并发修改做出任何硬性保证.快速失 ...

  4. 谈谈对BPM的理解

    BPM的产生缘由 近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也称为数字化时代,在这数字化的时代里,企业的经营管理都受到了极大的挑战.从上世纪90年代起至今,企业的信息化工 ...

  5. Ubuntu下解决adb devices:???????????? no permissions的方法

    之前一直都是在windows下进行开发的,但是这次由于一个小模块用的东西只能在linux下运行,所以就发生了这么一系列的问题环境:虚拟机Vmware下的Ubuntu12.10事件:连接android手 ...

  6. 《30天自制操作系统》笔记(06)——CPU的32位模式

    <30天自制操作系统>笔记(06)——CPU的32位模式 进度回顾 上一篇中实现了启用鼠标.键盘的功能.屏幕上会显示出用户按键.点击鼠标的情况.这是通过设置硬件的中断函数实现的,可以说硬件 ...

  7. MYSQL 大文件无法导入的问题。

    1. 设置maxpacket. 要在[mysqld]标签下.这个疏忽了,就会发现没效果. 基本网上的都没说清,要看stackoverflow. Change in the my.ini file. I ...

  8. 微软Edge 内嵌的JavaScript 引擎即将开源

    微软于今日(2015年12月10日)宣布即将开源Chakra核心控件,并改名为“ChakraCore”,该控件包含所有Edge JavaScript 引擎的所有核心功能.ChakraCore 将于下月 ...

  9. synchronized同步对象锁

    package com.system.util; import com.common.Constants; import com.util.Cache; /** * 创建同步对象锁 * * @auth ...

  10. 黑马程序员_java08_多线程

    转载于:http://www.itxuexiwang.com/plus/view.php?aid=148 线程是程序中可以并行执行的任务. java运行系统总是选当前优先级最高的处于就绪状态的线程来执 ...