• 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. 浅谈Excel开发:二 Excel 菜单系统

    在开始Excel开发之前,需要把架子搭起来.最直接的那就是Excel里面的菜单了,他向用户直观的展现了我们的插件具有哪些功能.菜单出来之后我们就可以实现里面的事件和功能了.Excel菜单有两种形式,一 ...

  2. .NET中Dictionary<TKey, TValue>浅析

    .NET中Dictionary<TKey, Tvalue>是非常常用的key-value的数据结构,也就是其实就是传说中的哈希表..NET中还有一个叫做Hashtable的类型,两个类型都 ...

  3. Winform文件下载之WebClient

    最近升级了公司内部使用的一个下载小工具,主要提升了下面几点: 1. 在一些分公司的局域网中,连接不上外网 2. 服务器上的文件更新后,下载到的还是更新前的文件 3. 没有下载进度提示 4. 不能终止下 ...

  4. Nginx+Keepalived(带Nginx监控脚本)

    转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0220/151.html?1456381460 Keepalived+ nginx的安装部署 主机: ...

  5. 我心中的核心组件(可插拔的AOP)~第十五回 我的日志组件Logger.Core(策略,模版方法,工厂,单例等模式的使用)

    回到目录 之前的讲过两篇关于日志组件的文章,分别是<第一回  日志记录组件之自主的Vlog>和<第三回  日志记录组件之log4net>,而今天主要说一下我自己开发的另一种日志 ...

  6. 说说设计模式~装饰器模式(Decorator)~多功能消息组件的实现

    返回目录 为何要设计多功能消息组件 之前写过一篇装饰器模式的文章,感觉不够深入,这次的例子是实现项目中遇到的,所以把它拿出来,再写写,之前也写过消息组件的文章,主要采用了策略模式实现的,即每个项目可以 ...

  7. MVVM架构~knockoutjs系列之扩展ajax验证~验证输入数据是否与后台数据相等

    返回目录 在看这篇文章之前,你有必要先看我之前的文章,之前文章是将一个方法以参数的形式传给KO,然后返回一个真假值,去做验证,这类似于面向对象语言里的委托,在JS里我们叫它回调方法,本篇文章与前一文章 ...

  8. MyBatis学习总结(一)——MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  9. Atiti  attilax主要成果与解决方案与案例rsm版 v2

    Atiti  attilax主要成果与解决方案与案例rsm版 v2 1. ##----------主要成果与解决方案与 参与项目1 ###开发流程与培训系列1 #-----组织运营与文化建设系列1 # ...

  10. instanceof, typeof, & Object.prototype.toString

    /** * * @authors Your Name (you@example.org) * @date 2016-11-18 09:31:23 * @version $Id$ */instanceo ...