SQL——模糊查询

前言

    在这个大数据时代,我们都离不开对数据的增删改查,增加、删除、修改这些看似都是一步完成的事情,但是对于查询来说,好的查询SQL可以大大的减少系统内存运行时间,提高系统的反应速度。这里简单的介绍一下查询中的模糊查询。

内容

    模糊查询语句格式为:

<span style="font-family:KaiTi_GB2312;font-size:18px;">--模糊查询格式如下:

select 字段 FROM 表 WHERE 某字段 LIKE 条件;</span>

1. %:任意零个或多个字符

    匹配任意类型和长度字符,表示中文的格式为(%%)

  • 单个字符限制:

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%';</span>

    将把T_USER表中的字段名为USERNAME中含有“周”的记录全部搜索出来。“周武王,童第周,周丽同”等

  • 多个字符无序查询:

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%' ADN USERNAME LIST '%王%';</span>

    将把T_USER表中的字段名为USERNAME中既含有“周”又含有“王”的记录全部搜索出来。“周王爷,王周大人”等。这里注意:这样写和关键字的前后位置无关。

  • 多个字符有序查询

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '%周%王%';</span>

    将把T_USER表中的字段名为USERNAME中既含有“周”又含有“王”并且“周”在“王”的前面的记录全部搜索出。“周王爷”,此时“王周大人”就搜索不出来了。


2. _:任意单个字符

  • 匹配单个任意字符,常用来限制表达式的字符长度。

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '_周_';</span>

    此时限制查询记录为:三个字,中间为“周”的记录全部搜索出来。


<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周__';</span>

    此时显示查询记录为:三个字,开头为“周”的记录全部搜索出来。

 

3. [ ]:表示括号内任意字符

  • 匹配括号中任意字符,通常指一个字符或者字符串的范围。

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '[周王李]一';</span>

    此时查询记录为:“周一、王一、李一”(不是周王李一)


  • 特殊情况处理

    如果“[ ]”内显示为连续的数字或者字母,可以略写范围即可。

    For Example:

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周[1-3]';</span>

    此时查询记录为:“周1、周2、周3”


4. [^ ]:不存在括号内任意字符

  • 匹配除括号内的字符外的对象(匹配对象为指定字符以外的任一字符)

<span style="font-family:KaiTi_GB2312;font-size:18px;">SELECT * FROM T_USER WHERE USERNAME LIKE '周[^1-3]';</span>

    此时查询记录为:“周4、周5、周6等除(周1、周2、周3)以外的对象。


小结

    1、适合需求,适合程序的代码才是好代码。

    2、技巧查询很好的符合了需求,提高了查询效率。


感谢您的宝贵时间~~~

原文地址:https://www.cnblogs.com/zhoulitong/p/6412407.html