SQL语法-LIKE和通配符用法

Like 作为Where条件中的常用子句, 一般需要搭配通配符使用。

通配符

通配符描述
%替代 0 个或多个字符。
_(下划线)任何单个字符。
[charlist]正则匹配模式,表示字符列中的任何单一字符。
[^charlist] 或 [!charlist]正则匹配模式,表示不在字符列中的任何单一字符。

使用 " _" 和 “%” 通配符示例

#选取 name 以字母 "G" 开始的所有客户
SELECT * FROM Websites
WHERE name LIKE 'G%'; 

#选取 name 以字母 "k" 结尾的所有客户
SELECT * FROM Websites
WHERE name LIKE '%k';

# 选取 name 包含模式 "oo" 的所有客户
SELECT * FROM Websites
WHERE name LIKE '%oo%';

#选取 name 不包含模式 "oo" 的所有客户
SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';

使用[charlist] 通配符示例

在oracle中,需要搭配 REGEXPNOT REGEXP; 在Mysql中,使用RLIKENOT RLIKE

#选取 name 以 "G"、"F" 或 "s" 开始的所有网站
SELECT * FROM Websites
WHERE name REGEXP '^[GFs]';

#选取 name 以 A 到 H 字母开头的网站
SELECT * FROM Websites
WHERE name REGEXP '^[A-H]';

参考链接: https://www.runoob.com/sql/sql-wildcards.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`LIKE` 和 `IN` 都是 MySQL 中的条件筛选语句,但是它们的使用场景和语法略有不同。 `LIKE` 用于匹配字符串,常用于模糊查询。语法为: ```SQL SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern; ``` 其中 `column_name` 是需要匹配的列名,`table_name` 是需要查询的表名,`pattern` 是需要匹配的字符串,可以使用 `%` 作为通配符。 例如,要查询 `employees` 表中名字中包含 `e` 的员工,可以使用以下 SQL 语句: ```SQL SELECT * FROM employees WHERE name LIKE '%e%'; ``` `IN` 用于匹配多个值,常用于多条件查询。语法为: ```SQL SELECT column_name(s) FROM table_name WHERE column_name IN (value1, value2, ...); ``` 其中 `column_name` 是需要匹配的列名,`table_name` 是需要查询的表名,`value1, value2, ...` 是需要匹配的值。 例如,要查询 `employees` 表中在 `New York` 和 `Los Angeles` 工作的员工,可以使用以下 SQL 语句: ```SQL SELECT * FROM employees WHERE city IN ('New York', 'Los Angeles'); ``` 当需要同时使用 `LIKE` 和 `IN` 时,可以使用以下 SQL 语句: ```SQL SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern AND column_name IN (value1, value2, ...); ``` 其中 `column_name` 是需要匹配的列名,`table_name` 是需要查询的表名,`pattern` 是需要匹配的字符串,`value1, value2, ...` 是需要匹配的值。 例如,要查询 `employees` 表中在 `New York` 和 `Los Angeles` 工作,并且名字中包含 `e` 的员工,可以使用以下 SQL 语句: ```SQL SELECT * FROM employees WHERE city IN ('New York', 'Los Angeles') AND name LIKE '%e%'; ``` 希望这些信息对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值