sql not like 写法
时间: 2025-08-23 08:58:33 浏览: 5
# SQL `NOT LIKE` 写法详解
`NOT LIKE` 是 SQL 中用于否定模式匹配的运算符,它与 `LIKE` 运算符相反。以下是关于 `NOT LIKE` 的详细说明和用法示例。
## 基本语法
```sql
SELECT column1, column2, ...
FROM table_name
WHERE column_name NOT LIKE pattern;
```
## 使用示例
### 1. 简单匹配
查找不以"张"开头的姓名:
```sql
SELECT * FROM employees
WHERE name NOT LIKE '张%';
```
### 2. 包含通配符
查找不包含"测试"的记录:
```sql
SELECT * FROM products
WHERE description NOT LIKE '%测试%';
```
### 3. 特定位置匹配
查找第二个字符不是"a"的单词:
```sql
SELECT * FROM words
WHERE word NOT LIKE '_a%';
```
### 4. 多个条件组合
```sql
SELECT * FROM customers
WHERE name NOT LIKE 'A%'
AND name NOT LIKE 'B%';
```
## 注意事项
1. **通配符说明**:
- `%` 匹配任意数量字符(包括零个)
- `_` 匹配单个字符
2. **大小写敏感性**:
- 在MySQL中默认不区分大小写
- 在PostgreSQL中默认区分大小写
- 可以使用 `NOT ILIKE` (PostgreSQL) 或 `LOWER()` 函数处理大小写问题
3. **性能考虑**:
- `NOT LIKE` 通常无法使用索引
- 对于大数据表,考虑其他查询方式
## 实际应用场景
### 排除特定数据
```sql
-- 查找非测试用户
SELECT * FROM users
WHERE username NOT LIKE 'test%';
```
### 数据清洗
```sql
-- 删除不符合命名规范的产品
DELETE FROM products
WHERE product_code NOT LIKE 'PRD-[0-9][0-9][0-9]';
```
阅读全文
相关推荐




















