SQL中的LIKE操作符

2024年05月27日 SQL中的LIKE操作符 极客笔记

SQL中的LIKE操作符

在SQL中,LIKE操作符用于根据模式匹配来检索数据。它通常与通配符结合使用,以便更灵活地搜索数据。而相对于LIKE操作符来说,SQL中的NOT LIKE操作符则用于排除符合指定模式的数据。

使用LIKE操作符进行模糊查询

在SQL中,LIKE操作符可以用于进行模糊查询。通常情况下,LIKE操作符与通配符一起使用,通配符包括百分号(%)和下划线(_)。

  • 百分号(%):表示任意字符出现任意次数
  • 下划线(_):表示任意单个字符

例如,我们有一个名为employees的表,其中包含有员工的姓名信息。如果我们想查找姓氏以”Sm”开头的员工,可以使用以下SQL语句:

SELECT * FROM employees 
WHERE last_name LIKE 'Sm%';

运行上述SQL语句后,会返回所有姓氏以”Sm”开头的员工的信息。

使用NOT LIKE操作符排除特定模式

而如果我们想要排除符合特定模式的数据,可以使用SQL中的NOT LIKE操作符。例如,假设我们想要筛选出姓氏不是以”Sm”开头的员工信息,可以执行以下SQL语句:

SELECT * FROM employees 
WHERE last_name NOT LIKE 'Sm%';

运行上述SQL语句后,会返回所有姓氏不以”Sm”开头的员工的信息。

示例

为了更好地理解SQL中的NOT LIKE操作符,我们来演示一个简单的示例。假设我们有一个名为products的表,其中包含有产品的名称信息。我们想要筛选出产品名称中不包含特定字符的产品。

首先,让我们创建一个名为products的表,并插入一些示例数据:

CREATE TABLE products (
    product_id INT,
    product_name VARCHAR(50)
);

INSERT INTO products (product_id, product_name)
VALUES 
(1, 'Apple iPhone'),
(2, 'Samsung Galaxy'),
(3, 'Google Pixel'),
(4, 'Huawei P40');

现在,我们来查询出产品名称中不包含”Apple”的产品信息:

SELECT * FROM products
WHERE product_name NOT LIKE '%Apple%';

运行上述SQL语句后,会返回产品名称中不包含”Apple”的产品信息。在这个示例中,结果集中将只包含’Samsung Galaxy’、’Google Pixel’和’Huawei P40’这三个产品。

总结

通过本文的详细讲解,我们了解了SQL中的NOT LIKE操作符的使用方法以及与LIKE操作符的区别。NOT LIKE操作符可以用于排除符合特定模式的数据,为我们提供了更多灵活的查询选项。在实际开发中,合理地运用NOT LIKE操作符可以帮助我们更高效地检索出符合要求的数据。

本文链接:http://so.lmcjl.com/news/5430/

展开阅读全文