SQL——模糊查询

时间:2024-05-01 19:11:32

前言

在这个大数据时代,我们都离不开对数据的增删改查,增加、删除、修改这些看似都是一步完成的事情,但是对于查询来说,好的查询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、技巧查询很好的符合了需求,提高了查询效率。

感谢您的宝贵时间~~~