📜  查找相似类型的名称 | SQL中的模糊搜索(1)

📅  最后修改于: 2023-12-03 15:40:25.043000             🧑  作者: Mango

查找相似类型的名称 | SQL中的模糊搜索

在 SQL 中,我们常常需要根据一些关键字来查找相似类型的名称。例如,我们可能需要在一张表中查找所有姓氏以 "S" 开头的人的信息。此时,我们就需要使用 SQL 中的模糊搜索功能。

模糊搜索操作符

在 SQL 中,我们可以使用 % 和 _ 操作符来实现模糊搜索。

  • % 表示零个或多个字符
  • _ 表示任意一个字符

下面是一些常见的模糊搜索方式:

  • LIKE 'S%':查找以 "S" 开头的字符串
  • LIKE '%S':查找以 "S" 结尾的字符串
  • LIKE '%S%':查找包含 "S" 的字符串
  • LIKE '_S%':查找第二个字符为 "S" 的字符串
  • LIKE 'S__%':查找第一个字符为 "S",第三个字符为任意字符的字符串
实例

假设我们有一张人员信息表,其中包含了每个人员的姓氏。下面是该表的结构:

CREATE TABLE personnel (
    id INT PRIMARY KEY,
    name VARCHAR(30) NOT NULL,
    surname VARCHAR(30) NOT NULL
);

如果我们想查找以 "S" 开头的姓氏,我们可以使用以下 SQL 语句:

SELECT * FROM personnel WHERE surname LIKE 'S%';

如果我们想查找以 "son" 结尾的姓氏,我们可以使用以下 SQL 语句:

SELECT * FROM personnel WHERE surname LIKE '%son';

如果我们想查找包含 "per" 的姓氏,我们可以使用以下 SQL 语句:

SELECT * FROM personnel WHERE surname LIKE '%per%';

如果我们想查找第二个字符为 "o" 的姓氏,我们可以使用以下 SQL 语句:

SELECT * FROM personnel WHERE surname LIKE '_o%';

如果我们想查找第一个字符为 "S",第三个字符为任意字符的姓氏,我们可以使用以下 SQL 语句:

SELECT * FROM personnel WHERE surname LIKE 'S__%';
总结

SQL 中的模糊搜索功能可以帮助我们快速查找符合条件的数据。我们可以使用 % 和 _ 操作符来实现不同的搜索方式。在实际开发中,我们应该熟练掌握该功能,并选择合适的方式进行搜索,以提高效率。