【SQL】模糊查询

版权声明:我的博客我做主! https://blog.csdn.net/lk1822791193/article/details/81626393

Top操作

Top对数据的顶部数据进行操作

实例:

select  top(number) //查询数据表中最顶上的(几个)数
from  table_name
where   colunmn_name 

注意:

并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。


Like操作符

like操作符用于where的语句中

实例:

SELECT  column_name(s)
FROM    table_name
WHERE   column_name LIKE pattern;

通配符

没有通配符,like怎么用?

作用:

在SQL语句中代替不明确的字符。

类别:

  1. % :代替0个或多个字符
  2. -   :代替1个字符
  3. [charlist]  : 字符列中的任何单一字符
  4. [^charlist] 或 [!charlist]  : 不在字符列中的任何单一字符

实例:

select * from table_name

where name like 'AD%'     //所有以字符AD开头的字符串
where name like '_adbc'   //所有以adbc结尾的5个字符的字符串
  
where name like '[CK]ars[eo]n'    
//将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。

where name like '[M-Z]inger'      
//将搜索以字符串 inger 结尾、以从 M 到 Z 的任何单个字母开头的所有名称(如 Ringer)。

where name like 'M[^c]%'        
 // 将搜索以字母 M 开头,并且第二个字母不是 c 的所有名称(如MacFeather) 

注意:

MySQL 、SQLite 只支持 % 和 _ 通配符,不支持 [^charlist] 或 [!charlist] 通配符( MS Access 支持,微软 office 对通配符一直支持良好,但微软有时候的通配符不支持 %,而是 *,具体看对应软件说明)。通配符和正则不是一回事。

MySQL 和 SQLite 会把 like '[xxx]yyy' 的中括号当成普通字符,而不是通配符。

猜你喜欢

转载自blog.csdn.net/lk1822791193/article/details/81626393
今日推荐