You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编写SQL查询语句:检索名称含'wo'且含'I'或'i'的供应商

正确SQL查询实现

需求说明

检索供应商表(假设表名为SUPPLIERS,原代码中TABLE为占位符)中名称包含字符"wo",且包含字符"I"或"i"的供应商记录。

原代码问题分析

给出的参考代码存在两处错误:

  • OR '%I%'语法错误,未关联字段与LIKE操作符,数据库无法识别该条件
  • 逻辑运算符优先级错误:AND优先级高于OR,原语句实际执行逻辑为(SUPPLIER_NAME LIKE '%WO%' AND SUPPLIER_NAME LIKE '%L%') OR '%I%',完全不符合需求

正确查询语句

1. 严格区分大小写匹配

如果需要精确区分大小写(只匹配小写"wo",以及大写"I"或小写"i"):

SELECT * FROM SUPPLIERS
WHERE SUPPLIER_NAME LIKE '%wo%'
AND (SUPPLIER_NAME LIKE '%I%' OR SUPPLIER_NAME LIKE '%i%');

注意:括号必须加,确保OR的两个条件先结合,再与前面的AND条件共同生效

2. 不区分大小写匹配(更通用)

如果不需要区分大小写(比如"WO""Wo"都算包含"wo","I""i"都算符合条件),可以用数据库内置的大小写转换函数统一处理:

-- MySQL/MariaDB/SQL Server/Oracle 通用写法
SELECT * FROM SUPPLIERS
WHERE LOWER(SUPPLIER_NAME) LIKE '%wo%'
AND LOWER(SUPPLIER_NAME) LIKE '%i%';

如果使用PostgreSQL,还可以用ILIKE直接实现不区分大小写的模糊匹配:

-- PostgreSQL 专属写法
SELECT * FROM SUPPLIERS
WHERE SUPPLIER_NAME ILIKE '%wo%'
AND SUPPLIER_NAME ILIKE '%i%';

内容的提问来源于stack exchange,提问作者Rüfət Əhməd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 15:15:32